28913c472f3d1bb78d7051f0e46a6e32325aad55
[pspp] / ChangeLog
1 2007-07-11  Karl Berry  <karl@gnu.org>
2
3         * MODULES.html.sh (func_module): use
4          sed -e '\|^'"${includefile}"'$|d' 
5          instead of /.../d, to avoid errors on $includefile's containing /.
6
7 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
8
9         * gnulib-tool (func_import): Avoid duplication of --avoid
10         statements
11         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
12         names to `_' in variable names.
13
14 2007-07-10  Eric Blake  <ebb9@byu.net>
15
16         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
17         * NEWS: Document this change.
18
19 2007-07-08  Bruno Haible  <bruno@clisp.org>
20
21         Update to Unicode 5.0.
22         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
23         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
24         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
25         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
26         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
27         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
28         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
29         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
30         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
31         U+10A3F, U+1D242..U+1D244.
32         (nonspacing_table_ind): Update.
33         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
34         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
35
36 2007-07-08  Bruno Haible  <bruno@clisp.org>
37
38         Update to Unicode 5.0.
39         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
40         code transform. Extend the name index field of unicode_name_to_code and
41         unicode_code_to_name from 16 to 24 bits.
42         * lib/uniname/uniname.c (unicode_character_name,
43         unicode_name_character): Add the range 0x12xxx to the code transform.
44         * lib/uniname/uninames.h: Regenerated.
45         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
46
47 2007-07-07  Bruno Haible  <bruno@clisp.org>
48
49         * modules/wcwidth-tests: New file.
50         * tests/test-wcwidth.c: New file.
51
52         Work around MacOS X wcwidth() bug.
53         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
54         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
55         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
56         original wcwidth in non-UTF-8 locales.
57         * modules/wcwidth (Depends-on): Add localcharset, streq,
58         uniwidth/width.
59         * doc/functions/wcwidth.texi: Update.
60
61 2007-07-07  Bruno Haible  <bruno@clisp.org>
62
63         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
64         (wcwidth): New declaration.
65         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
66         macros.
67         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
68         here. Prepare for creating <wchar.h> unconditionally.
69         * modules/wchar (Depends-on): Add link-warning.
70         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
71         REPLACE_WCWIDTH, and GL_LINK_WARNING.
72         * lib/wcwidth.h: Remove file.
73         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
74         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
75         * modules/wcwidth (Files): Remove lib/wcwidth.h.
76         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
77         (Include): Replace wcwidth.h with <wchar.h>.
78         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
79         * lib/mbchar.h: Don't include wcwidth.h.
80         * lib/mbswidth.c: Likewise.
81         * NEWS: Mention the change.
82
83 2007-07-07  Bruno Haible  <bruno@clisp.org>
84
85         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
86         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
87         definition with an external declaration.
88         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
89         defined as a function. Remove AC_C_INLINE requirement.
90         * modules/wcwidth (Files): Add lib/wcwidth.c.
91         (Makefile.am): Remove redundant statement.
92
93 2007-07-07  Bruno Haible  <bruno@clisp.org>
94
95         * MODULES.html.sh (Unicode string functions): Add the new modules.
96
97         * tests/uniwidth/test-u32-strwidth.c: New file.
98         * modules/uniwidth/u32-strwidth-tests: New file.
99
100         * lib/uniwidth/u32-strwidth.c: New file.
101         * modules/uniwidth/u32-strwidth: New file.
102
103         * tests/uniwidth/test-u16-strwidth.c: New file.
104         * modules/uniwidth/u16-strwidth-tests: New file.
105
106         * lib/uniwidth/u16-strwidth.c: New file.
107         * modules/uniwidth/u16-strwidth: New file.
108
109         * tests/uniwidth/test-u8-strwidth.c: New file.
110         * modules/uniwidth/u8-strwidth-tests: New file.
111
112         * lib/uniwidth/u8-strwidth.c: New file.
113         * modules/uniwidth/u8-strwidth: New file.
114
115         * tests/uniwidth/test-u32-width.c: New file.
116         * modules/uniwidth/u32-width-tests: New file.
117
118         * lib/uniwidth/u32-width.c: New file.
119         * modules/uniwidth/u32-width: New file.
120
121         * tests/uniwidth/test-u16-width.c: New file.
122         * modules/uniwidth/u16-width-tests: New file.
123
124         * lib/uniwidth/u16-width.c: New file.
125         * modules/uniwidth/u16-width: New file.
126
127         * tests/uniwidth/test-u8-width.c: New file.
128         * modules/uniwidth/u8-width-tests: New file.
129
130         * lib/uniwidth/u8-width.c: New file.
131         * modules/uniwidth/u8-width: New file.
132
133         * tests/uniwidth/test-uc_width.c: New file.
134         * modules/uniwidth/width-tests: New file.
135
136         * lib/uniwidth/width.c: New file, from GNU libiconv.
137         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
138         * modules/uniwidth/width: New file.
139
140         * lib/uniwidth.h: New file, from GNU libiconv.
141         * modules/uniwidth/base: New file.
142
143 2007-07-07  Bruno Haible  <bruno@clisp.org>
144
145         * lib/uniname.h: New file, from GNU gettext.
146         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
147         * lib/uniname/uninames.h: New file, from GNU gettext.
148         * lib/uniname/uniname.c: New file, from GNU gettext.
149         * tests/uniname/test-uninames.sh: New file.
150         * tests/uniname/test-uninames.c: New file, from GNU gettext.
151         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
152         * modules/uniname/base: New file.
153         * modules/uniname/uniname: New file.
154         * modules/uniname/uniname-tests: New file.
155         * MODULES.html.sh (Unicode string functions): Add the new modules.
156
157 2007-07-06  Bruno Haible  <bruno@clisp.org>
158
159         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
160
161 2007-07-06  Bruno Haible  <bruno@clisp.org>
162
163         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
164         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
165         includes <cygwin/sys_time.h> which includes <sys/select.h> which
166         include <sys/time.h>.
167         Reported by Eric Blake.
168
169 2007-07-06  Eric Blake  <ebb9@byu.net>
170
171         Fix testing canonicalize on cygwin.
172         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
173         Revert patch from 2007-06-19.
174         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
175         canonicalize module is also in use.
176         * tests/test-canonicalize.c: New file.
177         * tests/test-canonicalize.sh: Likewise.
178         * modules/canonicalize-tests: Likewise.
179
180 2007-07-06  Jim Meyering  <jim@meyering.net>
181
182         * lib/getugroups.c (getugroups): Detect getgrent failure.
183         Adjust comment to reflect reality: this function may return -1.
184
185 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
186
187         * build-aux/bootstrap (TP_URL,get_translations): Update to use
188         the new TP address.
189         (usage): Fix typo
190         (gnulib_mk): New variable.
191
192 2007-07-05  Jim Meyering  <jim@meyering.net>
193
194         Don't let endgrent clobber errno, no matter how improbable.
195         * lib/getugroups.c (getugroups): Save and restore errno around
196         endgrent call.
197
198         Close the group DB even when failing with 2^31 or more members.
199         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
200
201 2007-07-04  Jim Meyering  <jim@meyering.net>
202
203         * lib/getugroups.h: New file.
204         * lib/getugroups.c: Include "getugroups.h".
205         Remove uses of "register" keyword.
206         Move local variable, "cp", down into scope where used.
207         Give "username" parameter the "const" attribute.
208         * modules/getugroups (Files): Add lib/getugroups.h
209
210 2007-07-04  Karl Berry  <karl@gnu.org>
211
212         * MODULES.html.sh (func_all_modules): Complete rename of
213         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
214
215 2007-07-02  Bruno Haible  <bruno@clisp.org>
216
217         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
218         mode, when inttypes.h comes from gnulib.
219         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
220
221 2007-07-02  Simon Josefsson  <simon@josefsson.org>
222
223         * NEWS: Mention lgpl module name change.
224
225         * modules/lgpl-2.1: Renamed from lgpl.
226
227         * NEWS: Mention gpl module name change.
228
229         * modules/gpl-3.0: New file, based on gpl-2.0.
230
231         * modules/gpl-2.0: Renamed from gpl.
232
233         * modules/gpl: Fix filename, doc/gpl.texi is now found at
234         doc/gpl-2.0.texi.
235
236 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
237
238         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
239         #define __STDC_LIMIT_MACROS temporarily while including
240         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
241         Problem reported by Joel E. Denny in
242         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
243
244 2007-07-01  Bruno Haible  <bruno@clisp.org>
245
246         * lib/unistdio.h: New file.
247         * lib/unistdio/u-asnprintf.h: New file.
248         * lib/unistdio/u-asprintf.h: New file.
249         * lib/unistdio/u-printf-args.c: New file.
250         * lib/unistdio/u-printf-args.h: New file.
251         * lib/unistdio/u-printf-parse.h: New file.
252         * lib/unistdio/u-snprintf.h: New file.
253         * lib/unistdio/u-sprintf.h: New file.
254         * lib/unistdio/u-vasprintf.h: New file.
255         * lib/unistdio/u-vsnprintf.h: New file.
256         * lib/unistdio/u-vsprintf.h: New file.
257         * lib/unistdio/ulc-asnprintf.c: New file.
258         * lib/unistdio/ulc-asprintf.c: New file.
259         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
260         * lib/unistdio/ulc-printf-parse.c: New file.
261         * lib/unistdio/ulc-snprintf.c: New file.
262         * lib/unistdio/ulc-sprintf.c: New file.
263         * lib/unistdio/ulc-vasnprintf.c: New file.
264         * lib/unistdio/ulc-vasprintf.c: New file.
265         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
266         * lib/unistdio/ulc-vsnprintf.c: New file.
267         * lib/unistdio/ulc-vsprintf.c: New file.
268         * lib/unistdio/u8-asnprintf.c: New file.
269         * lib/unistdio/u8-asprintf.c: New file.
270         * lib/unistdio/u8-printf-parse.c: New file.
271         * lib/unistdio/u8-snprintf.c: New file.
272         * lib/unistdio/u8-sprintf.c: New file.
273         * lib/unistdio/u8-vasnprintf.c: New file.
274         * lib/unistdio/u8-vasprintf.c: New file.
275         * lib/unistdio/u8-vsnprintf.c: New file.
276         * lib/unistdio/u8-vsprintf.c: New file.
277         * lib/unistdio/u8-u8-asnprintf.c: New file.
278         * lib/unistdio/u8-u8-asprintf.c: New file.
279         * lib/unistdio/u8-u8-snprintf.c: New file.
280         * lib/unistdio/u8-u8-sprintf.c: New file.
281         * lib/unistdio/u8-u8-vasnprintf.c: New file.
282         * lib/unistdio/u8-u8-vasprintf.c: New file.
283         * lib/unistdio/u8-u8-vsnprintf.c: New file.
284         * lib/unistdio/u8-u8-vsprintf.c: New file.
285         * lib/unistdio/u16-asnprintf.c: New file.
286         * lib/unistdio/u16-asprintf.c: New file.
287         * lib/unistdio/u16-printf-parse.c: New file.
288         * lib/unistdio/u16-snprintf.c: New file.
289         * lib/unistdio/u16-sprintf.c: New file.
290         * lib/unistdio/u16-vasnprintf.c: New file.
291         * lib/unistdio/u16-vasprintf.c: New file.
292         * lib/unistdio/u16-vsnprintf.c: New file.
293         * lib/unistdio/u16-vsprintf.c: New file.
294         * lib/unistdio/u16-u16-asnprintf.c: New file.
295         * lib/unistdio/u16-u16-asprintf.c: New file.
296         * lib/unistdio/u16-u16-snprintf.c: New file.
297         * lib/unistdio/u16-u16-sprintf.c: New file.
298         * lib/unistdio/u16-u16-vasnprintf.c: New file.
299         * lib/unistdio/u16-u16-vasprintf.c: New file.
300         * lib/unistdio/u16-u16-vsnprintf.c: New file.
301         * lib/unistdio/u16-u16-vsprintf.c: New file.
302         * lib/unistdio/u32-asnprintf.c: New file.
303         * lib/unistdio/u32-asprintf.c: New file.
304         * lib/unistdio/u32-printf-parse.c: New file.
305         * lib/unistdio/u32-snprintf.c: New file.
306         * lib/unistdio/u32-sprintf.c: New file.
307         * lib/unistdio/u32-vasnprintf.c: New file.
308         * lib/unistdio/u32-vasprintf.c: New file.
309         * lib/unistdio/u32-vsnprintf.c: New file.
310         * lib/unistdio/u32-vsprintf.c: New file.
311         * lib/unistdio/u32-u32-asnprintf.c: New file.
312         * lib/unistdio/u32-u32-asprintf.c: New file.
313         * lib/unistdio/u32-u32-snprintf.c: New file.
314         * lib/unistdio/u32-u32-sprintf.c: New file.
315         * lib/unistdio/u32-u32-vasnprintf.c: New file.
316         * lib/unistdio/u32-u32-vasprintf.c: New file.
317         * lib/unistdio/u32-u32-vsnprintf.c: New file.
318         * lib/unistdio/u32-u32-vsprintf.c: New file.
319         * tests/unistdio/test-ulc-asnprintf1.c: New file.
320         * tests/unistdio/test-ulc-asnprintf1.h: New file.
321         * tests/unistdio/test-ulc-printf1.h: New file.
322         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
323         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
324         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
325         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
326         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
327         * tests/unistdio/test-ulc-vasprintf1.c: New file.
328         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
329         * tests/unistdio/test-ulc-vsprintf1.c: New file.
330         * tests/unistdio/test-u8-asnprintf1.c: New file.
331         * tests/unistdio/test-u8-asnprintf1.h: New file.
332         * tests/unistdio/test-u8-printf1.h: New file.
333         * tests/unistdio/test-u8-vasnprintf1.c: New file.
334         * tests/unistdio/test-u8-vasnprintf2.c: New file.
335         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
336         * tests/unistdio/test-u8-vasnprintf3.c: New file.
337         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
338         * tests/unistdio/test-u8-vasprintf1.c: New file.
339         * tests/unistdio/test-u8-vsnprintf1.c: New file.
340         * tests/unistdio/test-u8-vsprintf1.c: New file.
341         * tests/unistdio/test-u16-asnprintf1.c: New file.
342         * tests/unistdio/test-u16-asnprintf1.h: New file.
343         * tests/unistdio/test-u16-printf1.h: New file.
344         * tests/unistdio/test-u16-vasnprintf1.c: New file.
345         * tests/unistdio/test-u16-vasnprintf2.c: New file.
346         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
347         * tests/unistdio/test-u16-vasnprintf3.c: New file.
348         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
349         * tests/unistdio/test-u16-vasprintf1.c: New file.
350         * tests/unistdio/test-u16-vsnprintf1.c: New file.
351         * tests/unistdio/test-u16-vsprintf1.c: New file.
352         * tests/unistdio/test-u32-asnprintf1.c: New file.
353         * tests/unistdio/test-u32-asnprintf1.h: New file.
354         * tests/unistdio/test-u32-printf1.h: New file.
355         * tests/unistdio/test-u32-vasnprintf1.c: New file.
356         * tests/unistdio/test-u32-vasnprintf2.c: New file.
357         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
358         * tests/unistdio/test-u32-vasnprintf3.c: New file.
359         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
360         * tests/unistdio/test-u32-vasprintf1.c: New file.
361         * tests/unistdio/test-u32-vsnprintf1.c: New file.
362         * tests/unistdio/test-u32-vsprintf1.c: New file.
363         * modules/unistdio/base: New file.
364         * modules/unistdio/u-printf-args: New file.
365         * modules/unistdio/ulc-asnprintf: New file.
366         * modules/unistdio/ulc-asprintf: New file.
367         * modules/unistdio/ulc-fprintf: New file.
368         * modules/unistdio/ulc-printf-parse: New file.
369         * modules/unistdio/ulc-snprintf: New file.
370         * modules/unistdio/ulc-sprintf: New file.
371         * modules/unistdio/ulc-vasnprintf: New file.
372         * modules/unistdio/ulc-vasprintf: New file.
373         * modules/unistdio/ulc-vfprintf: New file.
374         * modules/unistdio/ulc-vsnprintf: New file.
375         * modules/unistdio/ulc-vsprintf: New file.
376         * modules/unistdio/u8-asnprintf: New file.
377         * modules/unistdio/u8-asprintf: New file.
378         * modules/unistdio/u8-printf-parse: New file.
379         * modules/unistdio/u8-snprintf: New file.
380         * modules/unistdio/u8-sprintf: New file.
381         * modules/unistdio/u8-vasnprintf: New file.
382         * modules/unistdio/u8-vasprintf: New file.
383         * modules/unistdio/u8-vsnprintf: New file.
384         * modules/unistdio/u8-vsprintf: New file.
385         * modules/unistdio/u8-u8-asnprintf: New file.
386         * modules/unistdio/u8-u8-asprintf: New file.
387         * modules/unistdio/u8-u8-snprintf: New file.
388         * modules/unistdio/u8-u8-sprintf: New file.
389         * modules/unistdio/u8-u8-vasnprintf: New file.
390         * modules/unistdio/u8-u8-vasprintf: New file.
391         * modules/unistdio/u8-u8-vsnprintf: New file.
392         * modules/unistdio/u8-u8-vsprintf: New file.
393         * modules/unistdio/u16-asnprintf: New file.
394         * modules/unistdio/u16-asprintf: New file.
395         * modules/unistdio/u16-printf-parse: New file.
396         * modules/unistdio/u16-snprintf: New file.
397         * modules/unistdio/u16-sprintf: New file.
398         * modules/unistdio/u16-vasnprintf: New file.
399         * modules/unistdio/u16-vasprintf: New file.
400         * modules/unistdio/u16-vsnprintf: New file.
401         * modules/unistdio/u16-vsprintf: New file.
402         * modules/unistdio/u16-u16-asnprintf: New file.
403         * modules/unistdio/u16-u16-asprintf: New file.
404         * modules/unistdio/u16-u16-snprintf: New file.
405         * modules/unistdio/u16-u16-sprintf: New file.
406         * modules/unistdio/u16-u16-vasnprintf: New file.
407         * modules/unistdio/u16-u16-vasprintf: New file.
408         * modules/unistdio/u16-u16-vsnprintf: New file.
409         * modules/unistdio/u16-u16-vsprintf: New file.
410         * modules/unistdio/u32-asnprintf: New file.
411         * modules/unistdio/u32-asprintf: New file.
412         * modules/unistdio/u32-printf-parse: New file.
413         * modules/unistdio/u32-snprintf: New file.
414         * modules/unistdio/u32-sprintf: New file.
415         * modules/unistdio/u32-vasnprintf: New file.
416         * modules/unistdio/u32-vasprintf: New file.
417         * modules/unistdio/u32-vsnprintf: New file.
418         * modules/unistdio/u32-vsprintf: New file.
419         * modules/unistdio/u32-u32-asnprintf: New file.
420         * modules/unistdio/u32-u32-asprintf: New file.
421         * modules/unistdio/u32-u32-snprintf: New file.
422         * modules/unistdio/u32-u32-sprintf: New file.
423         * modules/unistdio/u32-u32-vasnprintf: New file.
424         * modules/unistdio/u32-u32-vasprintf: New file.
425         * modules/unistdio/u32-u32-vsnprintf: New file.
426         * modules/unistdio/u32-u32-vsprintf: New file.
427         * modules/unistdio/ulc-asnprintf-tests: New file.
428         * modules/unistdio/ulc-vasnprintf-tests: New file.
429         * modules/unistdio/ulc-vasprintf-tests: New file.
430         * modules/unistdio/ulc-vsnprintf-tests: New file.
431         * modules/unistdio/ulc-vsprintf-tests: New file.
432         * modules/unistdio/u8-asnprintf-tests: New file.
433         * modules/unistdio/u8-vasnprintf-tests: New file.
434         * modules/unistdio/u8-vasprintf-tests: New file.
435         * modules/unistdio/u8-vsnprintf-tests: New file.
436         * modules/unistdio/u8-vsprintf-tests: New file.
437         * modules/unistdio/u16-asnprintf-tests: New file.
438         * modules/unistdio/u16-vasnprintf-tests: New file.
439         * modules/unistdio/u16-vasprintf-tests: New file.
440         * modules/unistdio/u16-vsnprintf-tests: New file.
441         * modules/unistdio/u16-vsprintf-tests: New file.
442         * modules/unistdio/u32-asnprintf-tests: New file.
443         * modules/unistdio/u32-vasnprintf-tests: New file.
444         * modules/unistdio/u32-vasprintf-tests: New file.
445         * modules/unistdio/u32-vsnprintf-tests: New file.
446         * modules/unistdio/u32-vsprintf-tests: New file.
447         * MODULES.html.sh (Unicode string functions): Add the new modules.
448
449 2007-07-01  Bruno Haible  <bruno@clisp.org>
450
451         * lib/sprintf.c (sprintf): Limit the available length estimation,
452         to avoid address wraparound.
453         * lib/vsprintf.c (vsprintf): Likewise.
454         * modules/sprintf-posix (Dependencies): Add stdint.
455         * modules/vsprintf-posix (Dependencies): Likewise.
456
457 2007-07-01  Bruno Haible <bruno@clisp.org>
458
459         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
460         Windows PATH as well. Conservative double-quoting. Comments.
461
462 2007-07-01  Bruno Haible <bruno@clisp.org>
463             Eric Blake  <ebb9@byu.net>
464             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
465
466         * gnulib-tool (self_abspathname): Fix algorithm to cope with
467         empty components in $PATH, denoting '.'.
468
469 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
470
471         * gnulib-tool: Fix indentation.
472         (func_create_megatestdir): Likewise.
473         Report by Bruno Haible.
474
475 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
476
477         Sync from Automake.
478         * build-aux/gnupload: Fix shell portability issues with for loops.
479         Report by Karl Berry.
480
481 2007-06-29  Simon Josefsson  <simon@josefsson.org>
482
483         * build-aux/maint.mk (POURL): Use translationproject.org.
484
485 2007-06-27  Simon Josefsson  <simon@josefsson.org>
486             Bruno Haible  <bruno@clisp.org>
487
488         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
489         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
490         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
491         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
492         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
493
494 2007-06-27  Bruno Haible  <bruno@clisp.org>
495
496         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
497         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
498
499 2007-06-26  Karl Berry  <karl@gnu.org>
500
501         * MODULES.html.sh: remove xreadlink-with-size.
502
503 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
504
505         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
506         method that I hope also handles the double-include problem noted
507         by Bruno Haible in
508         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
509
510 2007-06-23  Bruno Haible  <bruno@clisp.org>
511
512         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
513         Don't let the 'mostlyclean' target fail if the last subdirectory could
514         not be removed.
515         Reported by Karl Berry.
516
517 2007-06-23  Bruno Haible  <bruno@clisp.org>
518
519         * gnulib-tool (echo): Add a speedier workaround for ksh.
520         * tests/test-echo.sh: Likewise.
521
522 2007-06-23  Bruno Haible  <bruno@clisp.org>
523
524         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
525         * tests/test-echo.sh: Likewise.
526
527 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
528
529         * gnulib-tool (IFS): Initialize early, so we don't set it to
530         empty later.
531         (self_abspathname): Rewrite algorithm to set it, reindent.
532         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
533         (func_create_megatestdir): Merge some sed scripts.
534
535 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
536
537         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
538         exposed by Sun Studio 11 cc on Solaris 8.
539
540 2007-06-22  Bruno Haible  <bruno@clisp.org>
541
542         * gnulib-tool (echo): Ensure the echo primitive does not interpret
543         backslashes.
544         * tests/test-echo.sh: New file.
545
546 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
547
548         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
549         simplify `sed_replace_build_aux' scripts, they are portable but
550         echoing them with `echo' is not.
551         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
552
553 2007-06-21  Karl Berry  <karl@gnu.org>
554
555         * config/srclist.txt: guess we can't handle the licenses via
556         srclist at the moment.
557
558 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
559
560         * MODULES.html.sh: Add include_next.
561         * modules/include_next: New file.
562
563 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
564
565         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
566         INCLUDE_NEXT.
567         (gl_CHECK_NEXT_HEADERS): New macro.
568         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
569         the obsolescent gl_ABSOLUTE_HEADER.
570         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
571         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
572         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
573         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
574         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
575         * m4/math_h.m4 (gl_MATH_H): Likewise.
576         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
577         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
578         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
579         * m4/stdint.m4 (gl_STDINT_H): Likewise.
580         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
581         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
582         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
583         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
584         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
585         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
586         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
587         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
588         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
589         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
590         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
591         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
592         * m4/inttypes.m4 (gl_INTTYPES_H): Define
593         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
594         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
595         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
596         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
597         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
598         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
599         * lib/float_.h: Likewise.
600         * lib/inttypes_.h: Likewise.
601         * lib/math_.h: Likewise.
602         * lib/search_.h: Likewise.
603         * lib/signal_.h: Likewise.
604         * lib/stdint_.h: Likewise.
605         * lib/stdio_.h: Likewise.
606         * lib/stdlib_.h: Likewise.
607         * lib/string_.h: Likewise.
608         * lib/sys_stat_.h: Likewise.
609         * lib/sys_time_.h: Likewise.
610         * lib/time_.h: Likewise.
611         * lib/unistd_.h: Likewise.
612         * lib/wchar_.h: Likewise.
613         * lib/wctype_.h: Likewise.
614         * lib/dirent_.h: Likewise.
615         * lib/iconv_.h: Likewise.
616         * lib/locale_.h: Likewise.
617         * lib/netinet_in_.h: Likewise.
618         * lib/sys_select_.h: Likewise.
619         * lib/sys_socket_.h: Likewise.
620         * lib/sysexits_.h: Likewise.
621         * modules/fcntl (Depends-on): Depend on include_next, not
622         absolute_header.
623         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
624         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
625         * modules/fchdir: Likewise.
626         * modules/float: Likewise.
627         * modules/iconv_open: Likewise.
628         * modules/inttypes: Likewise.
629         * modules/locale: Likewise.
630         * modules/math: Likewise.
631         * modules/netinet_in: Likewise.
632         * modules/search: Likewise.
633         * modules/signal: Likewise.
634         * modules/stdint: Likewise.
635         * modules/stdio: Likewise.
636         * modules/stdlib: Likewise.
637         * modules/string: Likewise.
638         * modules/sys_select: Likewise.
639         * modules/sys_socket: Likewise.
640         * modules/sys_stat: Likewise.
641         * modules/sys_time: Likewise.
642         * modules/sysexits: Likewise.
643         * modules/time: Likewise.
644         * modules/unistd: Likewise.
645         * modules/wchar: Likewise.
646         * modules/wctype: Likewise.
647         * modules/sys_stat: Change maintainer to "all".
648         * modules/unistd: Likewise.
649
650 2007-06-20  Karl Berry  <karl@gnu.org>
651
652         * config/srclist.txt: track www changes in license files.
653
654 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
655
656         * build-aux/bootstrap: Remove stray dot.
657         Make sure build_aux settings are honored when linking
658         gnulib_extra_files.
659
660 2007-06-19  Eric Blake  <ebb9@byu.net>
661
662         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
663         Allow compilation on cygwin.
664
665 2007-06-19  Jim Meyering  <jim@meyering.net>
666
667         xreadlink-with-size: Remove module.  No longer used.
668         Ex-callers now use xreadlink or mreadlink-with-size.
669         * modules/xreadlink-with-size: Remove module.
670         * lib/xreadlink-with-size.c: Remove file.
671         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
672         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
673         just before the function definition *is* accurate.
674
675         Eliminate one way canonicalize_filename_mode could exit.
676         * lib/canonicalize.c (canonicalize_filename_mode):
677         Use mreadlink_with_size, not xreadlink_with_size.
678
679 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
680
681         Detect porting problems to FreeBSD/arm, which has time_t wider than
682         long int.  Original problem reported for GNU diff by Xin Li in
683         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
684         * modules/getdate (Depends-on): Add intprops, verify.
685         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
686         is an integer type no wider than long int.
687
688 2007-06-18  Jim Meyering  <jim@meyering.net>
689
690         New module: mreadlink-with-size.
691         * MODULES.html.sh: Add mreadlink-with-size.
692         * modules/mreadlink-with-size: New module
693         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
694         not xreadlink-with-size.
695         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
696
697 2007-06-16  Bruno Haible  <bruno@clisp.org>
698
699         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
700         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
701         Reported by Gary V. Vaughan <gary@gnu.org>.
702
703 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
704
705         Revamp lchown so that it lives in unistd.h where it belongs.
706         * lib/lchown.h: Remove.
707         * lib/dirchownmod.c: Don't include lib/lchown.h.
708         * lib/fchownat.c: Likewise.
709         * lib/openat.c: Likewise.
710         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
711         does not follow symlinks.
712         (EOPNOTSUPP): Define if not defined.
713         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
714         is defined to 0.
715         (lchown): New decl.
716         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
717         Do not check for lchown decl.
718         Set REPLACE_LCHOWN.
719         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
720         REPLACE_LCHOWN.
721         * modules/chown: Make it clear it follows symlinks.
722         * modules/lchown: Make it clear it doesn't follow symlinks.
723         (Files): Remove lib/lchown.h
724         (Depends-on): Add unistd.
725         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
726         (Include): Include <unistd.h>, not "lchown.h".
727         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
728         REPLACE_LCHOWN.
729
730 2007-06-15  Jim Meyering  <jim@meyering.net>
731
732         Change license (GPL to LGPL) of fsusage and dependents.
733         * modules/fsusage (License): Change to LGPL.
734         * modules/full-read (License): Likewise.
735         * modules/full-write (License): Likewise.
736         * modules/safe-read (License): Likewise.
737         * modules/safe-write (License): Likewise.
738
739 2007-06-14  Ben Pfaff  <blp@gnu.org>
740
741         Missing part of allocsa -> malloca transition.
742         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
743         gl_MALLOCA.
744
745 2007-06-12  Bruno Haible  <bruno@clisp.org>
746
747         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
748         to ia64, x86_64, i386.
749         Reported by Eric Blake.
750
751 2007-06-12  Bruno Haible  <bruno@clisp.org>
752
753         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
754         cross-compiling to x86_64.
755
756 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
757
758         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
759         glitch reported by Ralf Wildenhues in
760         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
761
762         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
763         Vin Shelton.
764
765 2007-06-11  Bruno Haible  <bruno@clisp.org>
766
767         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
768         replacement string.
769         Reported by Eric Blake.
770
771 2007-06-10  Bruno Haible  <bruno@clisp.org>
772
773         Prepare vasnprintf code for use with Unicode strings.
774         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
775         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
776         TYPE_U32_STRING.
777         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
778         a_u32_string variants.
779         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
780         * lib/printf-args.c: Don't include config.h and the specification
781         header if PRINTF_FETCHARGS is already defined.
782         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
783         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
784         TYPE_U16_STRING, TYPE_U32_STRING.
785         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
786         u16_directive, u16_directives, u32_directive, u32_directives): New
787         types.
788         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
789         New declarations.
790         * lib/printf-parse.c: Don't include config.h and the specification
791         header if PRINTF_PARSE is already defined. Eliminate the set of
792         parameters for WIDE_CHAR_VERSION; the user of this file must provide
793         them now. Include c-ctype.h.
794         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
795         directive and CHAR_T_ONLY_ASCII.
796         * lib/vasnprintf.c: Don't include config.h and the specification header
797         if VASNPRINTF is already defined.
798         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
799         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
800         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
801         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
802         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
803         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
804         code accordingly.
805         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
806         pad_ourselves also in this case, with the 'c' and 's' directives, and
807         with a different notion of "width".
808         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
809
810 2007-06-10  Bruno Haible  <bruno@clisp.org>
811
812         * modules/unistr/u32-mbsnlen: New file.
813         * lib/unistr/u32-mbsnlen.c: New file.
814
815         * modules/unistr/u16-mbsnlen: New file.
816         * lib/unistr/u16-mbsnlen.c: New file.
817
818         * modules/unistr/u8-mbsnlen: New file.
819         * lib/unistr/u8-mbsnlen.c: New file.
820
821         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
822         declarations.
823
824 2007-06-10  Bruno Haible  <bruno@clisp.org>
825
826         * lib/string_.h (mbsnlen): New declaration.
827         * lib/mbsnlen.c: New file.
828         * m4/mbsnlen.m4: New file.
829         * modules/mbsnlen: New file.
830         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
831         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
832         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
833
834 2007-06-10  Bruno Haible  <bruno@clisp.org>
835
836         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
837
838 2007-06-10  Bruno Haible  <bruno@clisp.org>
839
840         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
841         * lib/mbuiter.h: Likewise.
842
843 2007-06-10  Bruno Haible  <bruno@clisp.org>
844
845         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
846         declaration.
847
848 2007-06-10  Karl Berry  <karl@gnu.org>
849
850         * config/srclist.txt: remove gettext entries, Bruno prefers
851         to update individually.
852
853 2007-06-10  Bruno Haible  <bruno@clisp.org>
854
855         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
856         'maxlen'. Ensure only length + width bytes are allocated, not
857         length + 1 + width.
858
859 2007-06-09  Bruno Haible  <bruno@clisp.org>
860
861         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
862         (CHAR_T): Remove macro.
863         (VASNPRINTF): Update.
864
865 2007-06-09  Bruno Haible  <bruno@clisp.org>
866
867         * MODULES.html.sh (Unicode string functions): Add the new modules.
868
869         * modules/uniconv/u32-conv-to-enc: New file.
870         * lib/uniconv/u32-conv-to-enc.c: New file.
871         * modules/uniconv/u32-conv-to-enc-tests: New file.
872         * tests/uniconv/test-u32-conv-to-enc.c: New file.
873
874         * modules/uniconv/u16-conv-to-enc: New file.
875         * lib/uniconv/u16-conv-to-enc.c: New file.
876         * lib/uniconv/u-conv-to-enc.h: New file.
877         * modules/uniconv/u16-conv-to-enc-tests: New file.
878         * tests/uniconv/test-u16-conv-to-enc.c: New file.
879
880         * modules/uniconv/u8-conv-to-enc: New file.
881         * lib/uniconv/u8-conv-to-enc.c: New file.
882         * modules/uniconv/u8-conv-to-enc-tests: New file.
883         * tests/uniconv/test-u8-conv-to-enc.c: New file.
884
885         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
886         u32_conv_to_encoding): New declarations.
887
888 2007-06-09  Bruno Haible  <bruno@clisp.org>
889
890         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
891
892 2007-06-09  Bruno Haible  <bruno@clisp.org>
893
894         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
895         * modules/malloca: Renamed from modules/allocsa, updated.
896         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
897         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
898         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
899         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
900         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
901         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
902         * modules/xmalloca: Renamed from modules/xallocsa, updated.
903         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
904         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
905         * modules/c-strcasestr (Depends-on): Update.
906         * lib/c-strcasestr.c: Update.
907         * modules/c-strstr (Depends-on): Update.
908         * lib/c-strstr.c: Update.
909         * modules/canonicalize-lgpl (Depends-on): Update.
910         * lib/canonicalize-lgpl.c: Update.
911         * modules/clean-temp (Depends-on): Update.
912         * lib/clean-temp.c: Update.
913         * modules/csharpcomp (Depends-on): Update.
914         * lib/csharpcomp.c: Update.
915         * modules/csharpexec (Depends-on): Update.
916         * lib/csharpexec.c: Update.
917         * modules/javacomp (Depends-on): Update.
918         * lib/javacomp.c: Update.
919         * modules/javaexec (Depends-on): Update.
920         * lib/javaexec.c: Update.
921         * modules/mbscasestr (Depends-on): Update.
922         * lib/mbscasestr.c: Update.
923         * modules/mbsstr (Depends-on): Update.
924         * lib/mbsstr.c: Update.
925         * modules/setenv (Depends-on): Update.
926         * lib/setenv.c: Update.
927         * modules/strcasestr (Depends-on): Update.
928         * lib/strcasestr.c: Update.
929         * modules/striconveha (Depends-on): Update.
930         * lib/striconveha.c: Update.
931         * modules/relocatable-prog-wrapper (Files): Update.
932         * lib/relocwrapper.c: Update.
933         * build-aux/install-reloc: Update.
934         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
935
936 2007-06-08  Bruno Haible  <bruno@clisp.org>
937
938         Port to uClibc.
939         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
940         * lib/fpurge.c (fpurge): Likewise.
941         * lib/freading.c (freading): Likewise.
942         * lib/fseeko.c (rpl_fseeko): Likewise.
943         * lib/fseterr.c (fseterr): Likewise.
944         * lib/fwriting.c (fwriting): Likewise.
945         * tests/test-fflush.c (main): Avoid a failure on uClibc.
946
947 2007-06-08  Bruno Haible  <bruno@clisp.org>
948
949         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
950         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
951         * modules/gettext (Files): Add m4/intlmacosx.m4.
952
953 2007-06-07  Bruno Haible  <bruno@clisp.org>
954
955         * modules/localename-tests: New file.
956         * tests/test-localename.c: New file.
957
958         New module 'localename'.
959         * lib/localename.h: New file.
960         * lib/localename.c: New file, from GNU gettext.
961         * m4/localename.m4: New file.
962         * modules/localename: New file.
963
964 2007-06-07  Bruno Haible  <bruno@clisp.org>
965
966         Work around the lack of <wchar.h> on some builds of uClibc.
967         * doc/headers/wchar.texi: Update.
968         * lib/wchar_.h: Include <wchar.h> only if it exists.
969         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
970         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
971         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
972         doesn't exist.
973         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
974         * modules/mbfile (Depends-on): Add wchar.
975         * modules/mbiter (Depends-on): Likewise.
976         * modules/mbuiter (Depends-on): Likewise.
977         Reported by Simon Josefsson.
978
979 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
980
981         Work around problem reported by Steven M. Schweda in
982         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
983         Tru64 5.1B with the Compaq compiler environment installed declares
984         an 'isblank' function but does not define it in the C library.
985         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
986         * lib/regex_internal.h (isblank): Likewise.
987         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
988         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
989
990 2007-06-05  Bruno Haible  <bruno@clisp.org>
991
992         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
993         ia64.
994         * modules/printf-safe: New file.
995         * modules/fprintf-posix (Depends-on): Add printf-safe.
996         * modules/printf-posix (Depends-on): Likewise.
997         * modules/snprintf-posix (Depends-on): Likewise.
998         * modules/sprintf-posix (Depends-on): Likewise.
999         * modules/vasnprintf-posix (Depends-on): Likewise.
1000         * modules/vasprintf-posix (Depends-on): Likewise.
1001         * modules/vfprintf-posix (Depends-on): Likewise.
1002         * modules/vprintf-posix (Depends-on): Likewise.
1003         * modules/vsnprintf-posix (Depends-on): Likewise.
1004         * modules/vsprintf-posix (Depends-on): Likewise.
1005         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
1006         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
1007         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
1008         "no" on i386, x86_64, ia64.
1009         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
1010         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
1011         on i386, x86_64, ia64.
1012         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
1013         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
1014         on i386, x86_64, ia64.
1015         * tests/test-vasnprintf-posix.c: Include float.h.
1016         (LDBL80_WORDS): New macro.
1017         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
1018         on i386, x86_64, ia64.
1019         * tests/test-vasprintf-posix.c: Include float.h.
1020         (LDBL80_WORDS): New macro.
1021         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
1022         on i386, x86_64, ia64.
1023         * tests/test-snprintf-posix.c: Include float.h.
1024         * tests/test-sprintf-posix.c: Likewise.
1025         * tests/test-vsnprintf-posix.c: Likewise.
1026         * tests/test-vsprintf-posix.c: Likewise.
1027
1028 2007-06-05  Bruno Haible  <bruno@clisp.org>
1029
1030         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
1031         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
1032         non-IEEE numbers on i386, x86_64, ia64.
1033         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
1034         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
1035         * tests/test-isnanl.h: Include float.h.
1036         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
1037
1038 2007-06-05  Bruno Haible  <bruno@clisp.org>
1039
1040         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
1041         also the %a / %A. Handle the %a / %A code before this extra handling.
1042
1043 2007-06-05  Bruno Haible  <bruno@clisp.org>
1044
1045         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
1046         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
1047
1048 2007-06-05  Bruno Haible  <bruno@clisp.org>
1049
1050         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
1051         typo in variable name.
1052
1053 2007-06-05  Eric Blake  <ebb9@byu.net>
1054
1055         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
1056         Reported by Simon Josefsson.
1057
1058 2007-06-04  Bruno Haible  <bruno@clisp.org>
1059
1060         Avoid test failures on some PowerPC platforms.
1061         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
1062         Define differently for PowerPC.
1063         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
1064         Reported by Gary V. Vaughan <gary@gnu.org>.
1065
1066 2007-06-02  Bruno Haible  <bruno@clisp.org>
1067
1068         Fix test-stdint failure on FreeBSD/ia64.
1069         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
1070         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
1071         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
1072         * doc/headers/stdint.texi: Update.
1073
1074 2007-06-01  Bruno Haible  <bruno@clisp.org>
1075
1076         * tests/test-binary-io.c (main): Pass a third argument to open().
1077         Reported by Gary V. Vaughan <gary@gnu.org>.
1078
1079 2007-06-01  Bruno Haible  <bruno@clisp.org>
1080
1081         * doc/functions/frexpl.texi: Update for mingw.
1082
1083 2007-06-01  Bruno Haible  <bruno@clisp.org>
1084
1085         * tests/test-lseek.c (main): Disable test of errno for invalid third
1086         argument.
1087         * doc/functions/lseek.texi: Update.
1088         Reported by Gary V. Vaughan <gary@gnu.org>.
1089
1090 2007-05-28  Bruno Haible  <bruno@clisp.org>
1091
1092         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
1093
1094 2007-05-31  Eric Blake  <ebb9@byu.net>
1095
1096         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
1097         cross compiling.
1098
1099 2007-05-30  Eric Blake  <ebb9@byu.net>
1100         and Bruno Haible  <bruno@clisp.org>
1101
1102         Work around mingw test failures exposed by m4-1.4.9b.
1103         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
1104         * tests/test-unistd.c: Disable uid_t and git_t tests for the
1105         moment.
1106
1107 2007-05-30  Bruno Haible  <bruno@clisp.org>
1108
1109         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
1110         assuming that they are closed. Needed on HP-UX 11.
1111
1112 2007-05-29  Bruno Haible  <bruno@clisp.org>
1113
1114         Fix a problem with #include_next.
1115         * lib/dirent_.h: Split the double-inclusion guard.
1116         * lib/fcntl_.h: Likewise.
1117         * lib/float_.h: Likewise.
1118         * lib/iconv_.h: Likewise.
1119         * lib/inttypes_.h: Likewise.
1120         * lib/locale_.h: Likewise.
1121         * lib/math_.h: Likewise.
1122         * lib/netinet_in_.h: Likewise.
1123         * lib/search_.h: Likewise.
1124         * lib/signal_.h: Likewise.
1125         * lib/stdint_.h: Likewise.
1126         * lib/stdio_.h: Likewise.
1127         * lib/stdlib_.h: Likewise.
1128         * lib/string_.h: Likewise.
1129         * lib/sys_select_.h: Likewise.
1130         * lib/sys_socket_.h: Likewise.
1131         * lib/sys_stat_.h: Likewise.
1132         * lib/sys_time_.h: Likewise.
1133         * lib/sysexits_.h: Likewise.
1134         * lib/time_.h: Likewise.
1135         * lib/unistd_.h: Likewise.
1136         * lib/wchar_.h: Likewise.
1137         * lib/wctype_.h: Likewise.
1138
1139 2007-05-29  Bruno Haible  <bruno@clisp.org>
1140
1141         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
1142         for the moment.
1143
1144 2007-05-29  Bruno Haible  <bruno@clisp.org>
1145
1146         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
1147         invocation.
1148         Reported by Eric Blake.
1149
1150 2007-05-29  Bruno Haible  <bruno@clisp.org>
1151
1152         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
1153         compiling case.
1154
1155 2007-05-29  Eric Blake  <ebb9@byu.net>
1156             Bruno Haible  <bruno@clisp.org>
1157
1158         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
1159         cross compiles.
1160
1161 2007-05-28  Eric Blake  <ebb9@byu.net>
1162
1163         * modules/closein-tests (test_closein_LDADD): Support test on
1164         cygwin with libtool.
1165
1166 2007-05-28  Bruno Haible  <bruno@clisp.org>
1167
1168         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
1169         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
1170         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
1171         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
1172         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
1173         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
1174         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
1175         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
1176         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
1177
1178 2007-05-28  Eric Blake  <ebb9@byu.net>
1179
1180         Unconditionally include <config.h> in unit tests.
1181         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
1182         * tests/test-allocsa.c, tests/test-arcfour.c,
1183         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
1184         tests/test-array_list.c, tests/test-array_oset.c,
1185         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
1186         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
1187         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
1188         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
1189         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
1190         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
1191         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
1192         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
1193         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
1194         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
1195         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
1196         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
1197         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
1198         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
1199         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
1200         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
1201         test-md5.c, test-memmem.c, test-printf-posix.c,
1202         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
1203         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
1204         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
1205         test-strcasestr.c, test-striconv.c, test-striconveh.c,
1206         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
1207         test-vasnprintf-posix2.c, test-vasnprintf.c,
1208         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
1209         test-vfprintf-posix.c, test-vprintf-posix.c,
1210         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
1211         test-xvasprintf.c: Likewise.
1212
1213 2007-05-28  Bruno Haible  <bruno@clisp.org>
1214
1215         * gnulib-tool (func_import): Remember the --with-tests command-line
1216         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
1217         Reported by Eric Blake.
1218
1219 2007-05-28  Bruno Haible  <bruno@clisp.org>
1220
1221         * modules/ftell-tests: New file.
1222         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
1223         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
1224
1225         * lib/ftell.c: New file.
1226         * modules/ftell: New file.
1227         * m4/ftell.m4: New file.
1228         * doc/functions/ftell.texi: Update.
1229         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
1230         REPLACE_FTELL.
1231         * lib/stdio_.h (rpl_ftell): New declaration.
1232         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
1233         REPLACE_FTELL.
1234
1235 2007-05-28  Eric Blake  <ebb9@byu.net>
1236
1237         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
1238
1239 2007-05-28  Bruno Haible  <bruno@clisp.org>
1240
1241         * modules/fseek-tests: New file.
1242         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
1243         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
1244
1245         * lib/fseek.c: New file.
1246         * modules/fseek: New file.
1247         * m4/fseek.m4: New file.
1248         * doc/functions/fseek.texi: Update.
1249         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
1250         REPLACE_FSEEK.
1251         * lib/stdio_.h (rpl_fseek): New declaration.
1252         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
1253         REPLACE_FSEEK.
1254
1255 2007-05-28  Bruno Haible  <bruno@clisp.org>
1256
1257         * lib/stdio_.h (fflush): More comments.
1258
1259 2007-05-28  Bruno Haible  <bruno@clisp.org>
1260
1261         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
1262         runtime test.
1263
1264 2007-05-28  Eric Blake  <ebb9@byu.net>
1265
1266         Improve lseek module.
1267         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
1268         * lib/unistd_.h (lseek): Scale back link warning message.
1269         * tests/test-lseek.c: Beef up test.
1270         * tests/test-lseek.sh: Exercise more facets of lseek.
1271         Reported by Bruno Haible.
1272
1273 2007-05-28  Bruno Haible  <bruno@clisp.org>
1274
1275         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
1276         to define.
1277
1278 2007-05-27  Bruno Haible  <bruno@clisp.org>
1279
1280         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
1281
1282 2007-05-27  Bruno Haible  <bruno@clisp.org>
1283
1284         * modules/openmp: New file.
1285         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
1286         Noah Misch.
1287
1288 2007-05-26  Bruno Haible  <bruno@clisp.org>
1289
1290         * modules/chdir-long (Depends-on): Add fchdir.
1291         * modules/chdir-safer (Depends-on): Likewise.
1292         * modules/fts (Depends-on): Likewise.
1293         * modules/fts-lgpl (Depends-on): Likewise.
1294         * modules/openat (Depends-on): Likewise.
1295         * modules/savewd (Depends-on): Likewise.
1296
1297 2007-05-24  Eric Blake  <ebb9@byu.net>
1298
1299         Fix lseek on mingw.
1300         * modules/lseek: New module.
1301         * m4/lseek.m4: New file.
1302         * lib/lseek.c: New file.
1303         * modules/lseek-tests: New file.
1304         * tests/test-lseek.c: New file.
1305         * tests/test-lseek.sh: New file.
1306         * MODULES.html.sh: Document lseek module.
1307         * modules/fflush (Depends-on): Add lseek, fseeko.
1308         * modules/fseeko (Depends-on): Likewise.
1309         * modules/ftello (Depends-on): Likewise.
1310         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
1311         broken.
1312         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
1313         broken.
1314         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
1315         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
1316         * lib/ftello.c (rpl_ftello): Likewise.
1317         * tests/test-fseeko.c (main): Test this.
1318         * tests/test-fseeko.sh: Likewise.
1319         * tests/test-ftello.c (main): Likewise.
1320         * tests/test-ftello.sh: Likewise.
1321         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
1322         implies replacing fseek.
1323         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
1324         HAVE_FTELLO.
1325         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
1326         * modules/unistd (Makefile.am): Likewise.
1327         * lib/unistd_.h (lseek): Declare a replacement.
1328         * doc/functions/lseek.texi (lseek): Document this fix.
1329         * doc/functions/fseek.texi (fseek): Likewise.
1330         * doc/functions/ftell.texi (ftell): Likewise.
1331
1332 2007-05-24  Bruno Haible  <bruno@clisp.org>
1333
1334         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
1335         in the printed representation of a NaN.
1336         * tests/test-vasprintf-posix.c (test_function): Likewise.
1337         * tests/test-snprintf-posix.h (test_function): Likewise.
1338         * tests/test-sprintf-posix.h (test_function): Likewise.
1339         Reported by Eric Blake.
1340
1341 2007-05-23  Eric Blake  <ebb9@byu.net>
1342
1343         Fix fseeko/ftello on cygwin 1.5.24.
1344         * doc/functions/fseeko.texi (fseeko): Document the fix.
1345         * doc/functions/ftello.texi (ftello): Document the fix.
1346         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
1347         * doc/functions/stdout.text (stdout): New file.
1348         * doc/functions/stderr.text (stderr): New file.
1349         * doc/gnulib.texi (Function Substitutes): Use new files.
1350         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
1351         prior to 1.7.0.
1352         * tests/test-ftello.c (main): Likewise for ftello.
1353         * tests/test-fseeko.sh: New file.
1354         * tests/test-ftello.sh: New file.
1355         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
1356         with seekable stdin.
1357         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
1358         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
1359         (gl_REPLACE_FSEEKO): New macro.
1360         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
1361         * modules/fseeko (Files): Distribute fseeko.c.
1362         * modules/ftello (Files): Distribute ftello.c.
1363         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
1364         mode.
1365         * lib/ftello.c (rpl_ftello): New file.
1366         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
1367         fseeko, ftello.
1368         (gl_STDIN_LARGE_OFFSET): New macro.
1369         * modules/stdio (Makefile.am): Perform the replacement.
1370         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
1371
1372 2007-05-23  Bruno Haible  <bruno@clisp.org>
1373
1374         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
1375         GNULIB_POSIXCHECK is defined.
1376
1377 2007-05-21  Bruno Haible  <bruno@clisp.org>
1378
1379         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
1380         Check also the output for NaN arguments. When cross-compiling, guess
1381         no on IRIX.
1382         * lib/vasnprintf.c: Update comments.
1383         * tests/test-vasnprintf-posix.c (strisnan): New function.
1384         (test_function): Use it.
1385         * tests/test-vasprintf-posix.c (strisnan): New function.
1386         (test_function): Use it.
1387         * tests/test-snprintf-posix.h (strisnan): New function.
1388         (test_function): Use it.
1389         * tests/test-sprintf-posix.h (strisnan): New function.
1390         (test_function): Use it.
1391         Reported by Eric Blake.
1392
1393 2007-05-20  Bruno Haible  <bruno@clisp.org>
1394
1395         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
1396         numbers that fails on BeOS.
1397         * doc/functions/frexpl.texi: Update.
1398
1399 2007-05-20  Jim Meyering  <jim@meyering.net>
1400
1401         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
1402         forced upon us by glibc-2.6.
1403
1404 2007-05-20  Bruno Haible  <bruno@clisp.org>
1405
1406         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
1407         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
1408         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
1409         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
1410         NEED_PRINTF_INFINITE.
1411         (is_infinitel): New function.
1412         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
1413         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
1414         gl_PREREQ_VASNPRINTF_INFINITE.
1415         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
1416         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
1417         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
1418         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
1419         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
1420         gl_PREREQ_VASNPRINTF_INFINITE.
1421         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
1422         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1423         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1424         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1425         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
1426         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1427         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1428         * doc/functions/fprintf.texi: Update.
1429         * doc/functions/printf.texi: Update.
1430         * doc/functions/snprintf.texi: Update.
1431         * doc/functions/sprintf.texi: Update.
1432         * doc/functions/vfprintf.texi: Update.
1433         * doc/functions/vprintf.texi: Update.
1434         * doc/functions/vsnprintf.texi: Update.
1435         * doc/functions/vsprintf.texi: Update.
1436
1437 2007-05-20  Bruno Haible  <bruno@clisp.org>
1438
1439         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
1440         was not found in libc.
1441         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
1442
1443 2007-05-20  Bruno Haible  <bruno@clisp.org>
1444
1445         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
1446         printed as "-nan" instead of "nan".
1447         * tests/test-vasprintf-posix.c (test_function): Likewise.
1448         * tests/test-snprintf-posix.h (test_function): Likewise.
1449         * tests/test-sprintf-posix.h (test_function): Likewise.
1450         Needed for HP-UX 11.
1451
1452 2007-05-20  Jim Meyering  <jim@meyering.net>
1453
1454         Fix buggy test for the fchownat-deref bug.
1455         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
1456         symlink required for the run-test.  Without it, this test would
1457         always declare that fchownat doesn't work, and client code would
1458         unnecessarily use the replacement function with fixed libc.
1459         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
1460         Reported by Greg Schafer.
1461
1462 2007-05-19  Bruno Haible  <bruno@clisp.org>
1463
1464         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
1465         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
1466         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
1467         Needed for IRIX 6.5 and Solaris 2.5.1.
1468
1469 2007-05-19  Bruno Haible  <bruno@clisp.org>
1470
1471         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
1472         (test_function): Skip tests involving -0.0 on platforms where
1473         -0.0 = 0.0.
1474         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
1475         (test_function): Skip tests involving -0.0 on platforms where
1476         -0.0 = 0.0.
1477         * tests/test-snprintf-posix.h (have_minus_zero): New function.
1478         (test_function): Skip tests involving -0.0 on platforms where
1479         -0.0 = 0.0.
1480         * tests/test-sprintf-posix.h (have_minus_zero): New function.
1481         (test_function): Skip tests involving -0.0 on platforms where
1482         -0.0 = 0.0.
1483         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
1484         tests.
1485         * tests/test-printf-posix.h (test_function): Likewise.
1486         * tests/test-printf-posix.output: Remove all -0.0 related results.
1487         Needed for IRIX 6.5.
1488
1489 2007-05-19  Bruno Haible  <bruno@clisp.org>
1490
1491         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
1492         printed as "nan0x7fffffff" instead of "nan".
1493         * tests/test-vasprintf-posix.c (test_function): Likewise.
1494         * tests/test-snprintf-posix.h (test_function): Likewise.
1495         * tests/test-sprintf-posix.h (test_function): Likewise.
1496         * tests/test-fprintf-posix.h (NaN): Remove macro.
1497         (test_function): Remove all NaN related tests.
1498         * tests/test-printf-posix.h (NaN): Remove macro.
1499         (test_function): Remove all NaN related tests.
1500         * tests/test-printf-posix.output: Remove all NaN related results.
1501         Needed for IRIX 6.5.
1502
1503 2007-05-19  Bruno Haible  <bruno@clisp.org>
1504
1505         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
1506         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
1507
1508 2007-05-19  Bruno Haible  <bruno@clisp.org>
1509
1510         * lib/float_.h: New file.
1511         * m4/float_h.m4: New file.
1512         * modules/float: New file.
1513         * modules/isnanl (Dependencies): Add float.
1514         * modules/isnanl-nolibm (Dependencies): Likewise.
1515         * modules/mathl (Dependencies): Likewise.
1516         * modules/printf-frexpl (Dependencies): Likewise.
1517         * modules/signbit (Dependencies): Likewise.
1518         * modules/vasnprintf (Dependencies): Likewise.
1519         * doc/headers/float.texi: Update.
1520
1521 2007-05-19  Jim Meyering  <jim@meyering.net>
1522
1523         * lib/utimens.c (gl_futimens): Rename from futimens,
1524         now that glibc-2.6 declares futimens.
1525         * lib/utimens.h: Likewise.
1526
1527 2007-05-19  Bruno Haible  <bruno@clisp.org>
1528
1529         Avoid test failures on mingw.
1530         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
1531         * tests/test-printf-posix.sh: Likewise.
1532         * tests/test-vfprintf-posix.sh: Likewise.
1533         * tests/test-vprintf-posix.sh: Likewise.
1534
1535 2007-05-19  Bruno Haible  <bruno@clisp.org>
1536
1537         Fix *printf result for NaN, Inf, -0.0 on mingw.
1538         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
1539         * lib/vasnprintf.c: Include math.h and isnan.h.
1540         (is_infinite_or_zero): New function.
1541         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
1542         values in the %f, %F, %e, %E, %g, %G directives.
1543         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
1544         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
1545         gl_PRINTF_INFINITE and test its result. Invoke
1546         gl_PREREQ_VASNPRINTF_INFINITE.
1547         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
1548         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1549         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1550         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1551         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
1552         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1553         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1554         * doc/functions/fprintf.texi: Update.
1555         * doc/functions/printf.texi: Update.
1556         * doc/functions/snprintf.texi: Update.
1557         * doc/functions/sprintf.texi: Update.
1558         * doc/functions/vfprintf.texi: Update.
1559         * doc/functions/vprintf.texi: Update.
1560         * doc/functions/vsnprintf.texi: Update.
1561         * doc/functions/vsprintf.texi: Update.
1562
1563 2007-05-19  Bruno Haible  <bruno@clisp.org>
1564
1565         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
1566         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
1567         Instead of multiplying with 10^k, set extra_zeroes to k.
1568         (scale10_round_long_double): Remove function.
1569
1570 2007-05-18  Bruno Haible  <bruno@clisp.org>
1571
1572         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
1573         introduced on 2007-05-06.
1574
1575 2007-05-18  Bruno Haible  <bruno@clisp.org>
1576
1577         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
1578         %g directives.
1579         * tests/test-vasprintf-posix.c (test_function): Likewise.
1580         * tests/test-snprintf-posix.h (test_function): Likewise.
1581         * tests/test-sprintf-posix.h (test_function): Likewise.
1582
1583 2007-05-18  Bruno Haible  <bruno@clisp.org>
1584
1585         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
1586         (strmatch): New function.
1587         (test_function): Test the %f directive on numbers of various exponents.
1588         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
1589         (strmatch): New function.
1590         (test_function): Test the %f directive on numbers of various exponents.
1591         * tests/test-snprintf-posix.h (strmatch): New function.
1592         (test_function): Test the %f directive on numbers of various exponents.
1593         * tests/test-sprintf-posix.h (strmatch): New function.
1594         (test_function): Test the %f directive on numbers of various exponents.
1595         * tests/test-snprintf-posix.c (SIZEOF): New macro.
1596         * tests/test-sprintf-posix.c (SIZEOF): New macro.
1597         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
1598         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
1599
1600 2007-05-18  Bruno Haible  <bruno@clisp.org>
1601
1602         Add support for 'long double' number output.
1603         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
1604         * lib/vasnprintf.c: Include math.h and float+.h.
1605         (mp_limb_t): New type.
1606         (GMP_LIMB_BITS): New macro.
1607         (mp_twolimb_t): New type.
1608         (GMP_TWOLIMB_BITS): New macro.
1609         (mpn_t): New type.
1610         (multiply, divide, convert_to_decimal, decode_long_double,
1611         scale10_round_long_double, scale10_round_decimal_long_double,
1612         floorlog10l): New functions.
1613         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
1614         for the %f, %F, %e, %E, %g, %G directives.
1615         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
1616         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
1617         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
1618         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
1619         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
1620         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1621         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1622         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1623         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
1624         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1625         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1626         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
1627         * modules/snprintf-posix (Depends-on): Likewise.
1628         * modules/sprintf-posix (Depends-on): Likewise.
1629         * modules/vasnprintf-posix (Depends-on): Likewise.
1630         * modules/vasprintf-posix (Depends-on): Likewise.
1631         * modules/vfprintf-posix (Depends-on): Likewise.
1632         * modules/vsnprintf-posix (Depends-on): Likewise.
1633         * modules/vsprintf-posix (Depends-on): Likewise.
1634         * modules/vasnprintf (Files): Add lib/float+.h.
1635         * doc/functions/fprintf.texi: Update.
1636         * doc/functions/printf.texi: Update.
1637         * doc/functions/snprintf.texi: Update.
1638         * doc/functions/sprintf.texi: Update.
1639         * doc/functions/vfprintf.texi: Update.
1640         * doc/functions/vprintf.texi: Update.
1641         * doc/functions/vsnprintf.texi: Update.
1642         * doc/functions/vsprintf.texi: Update.
1643
1644 2007-05-18  Bruno Haible  <bruno@clisp.org>
1645
1646         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
1647
1648 2007-05-18  Bruno Haible  <bruno@clisp.org>
1649
1650         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
1651         for printing 64-bit integers. Needed for mingw.
1652
1653 2007-05-18  Bruno Haible  <bruno@clisp.org>
1654
1655         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
1656         gl_FUNC_FREXPL_WORKS.
1657         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
1658
1659 2007-05-18  Bruno Haible  <bruno@clisp.org>
1660
1661         * modules/frexpl-nolibm-tests: New file.
1662
1663         * modules/frexpl-nolibm: New file.
1664         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
1665
1666 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
1667
1668         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
1669         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
1670         GCC 4.2, which otherwise issues a lot of warnings.
1671         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
1672         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
1673         Likewise.
1674         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
1675         * modules/iconv_open (iconv.h): Likewise.
1676         * modules/locale (locale.h): Likewise.
1677         * modules/netinet_in (netinet/in.h): Likewise.
1678         * modules/sys_select (sys_select.h): Likewise.
1679         * modules/sys_socket (sys/socket.h): Likewise.
1680         * modules/sys_stat (sys/stat.h): Likewise.
1681         * modules/sysexits (sysexits.h): Likewise.
1682         * modules/unistd (unistd.h): Likewise.
1683
1684 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1685
1686         * modules/closein-tests (Makefile.am): Distribute
1687         `test-closein.sh'.
1688
1689 2007-05-17  Bruno Haible  <bruno@clisp.org>
1690
1691         * tests/test-printf-posix.output: Renamed from
1692         tests/test-fprintf-posix.out.
1693         * modules/fprintf-posix-tests: Update.
1694         * modules/printf-posix-tests: Update.
1695         * modules/vfprintf-posix-tests: Update.
1696         * modules/vprintf-posix-tests: Update.
1697         * tests/test-fprintf-posix.sh: Update.
1698         * tests/test-printf-posix.sh: Update.
1699         * tests/test-vfprintf-posix.sh: Update.
1700         * tests/test-vprintf-posix.sh: Update.
1701         Reported by Ralf Wildenhues.
1702
1703 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
1704
1705         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
1706         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
1707         GCC 4.2, which otherwise issues a lot of warnings.
1708         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
1709         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
1710         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
1711         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
1712         it should no longer be needed.
1713         * lib/string_.h: Likewise.
1714         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
1715         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
1716         * modules/inttypes (inttypes.h): Likewise.
1717         * modules/math (math.h): Likewise.
1718         * modules/search (search.h): Likewise.
1719         * modules/signal (signal.h): Likewise.
1720         * modules/stdint (stdint.h): Likewise.
1721         * modules/stdio (stdio.h): Likewise.
1722         * modules/stdlib (stdlib.h): Likewise.
1723         * modules/string (string.h): Likewise.
1724         * modules/sys_time (sys/time.h): Likewise.
1725         * modules/time (time.h): Likewise.
1726         * modules/wchar (wchar.h): Likewise.
1727         * modules/wctype (wtype.h): Likewise.
1728
1729 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
1730
1731         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
1732
1733 2007-05-13  Bruno Haible  <bruno@clisp.org>
1734
1735         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
1736         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
1737         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
1738         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
1739         (gl_PREREQ_STRTOK_R): Don't require it here.
1740
1741 2007-05-13  Bruno Haible  <bruno@clisp.org>
1742
1743         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
1744         when used in C++ mode.
1745
1746 2007-05-12  Bruno Haible  <bruno@clisp.org>
1747
1748         * lib/linebuffer.h: Tweak doc.
1749         * lib/linebuffer.c: Likewise.
1750
1751 2007-05-12  James Youngman  <jay@gnu.org>
1752
1753         * lib/linebuffer.c (readlinebuffer_delim): New function,
1754         like readlinebuffer, but use a caller-specified delimiter.
1755         (readlinebuffer): Just call readlinebuffer_delim with '\n'
1756         as the delimiter.
1757         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
1758
1759 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
1760
1761         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
1762         * modules/openat (Files): Remove openat-die.c.
1763         (Depends-on): Add openat-die.
1764         * modules/openat-die: New module.
1765
1766 2007-05-06  Bruno Haible  <bruno@clisp.org>
1767
1768         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
1769         Update with info about Cygwin.
1770         * doc/functions/fprintf.texi: Update.
1771         * doc/functions/printf.texi: Update.
1772         * doc/functions/snprintf.texi: Update.
1773         * doc/functions/sprintf.texi: Update.
1774         * doc/functions/vfprintf.texi: Update.
1775         * doc/functions/vprintf.texi: Update.
1776         * doc/functions/vsnprintf.texi: Update.
1777         * doc/functions/vsprintf.texi: Update.
1778         Reported by Eric Blake.
1779
1780 2007-05-06  Bruno Haible  <bruno@clisp.org>
1781
1782         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
1783         padding ourselves for the floating-point directives.
1784         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
1785         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
1786         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
1787         gl_PRINTF_FLAG_ZERO and test its result. Invoke
1788         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
1789         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1790         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
1791         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1792         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1793         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
1794         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1795         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1796         * tests/test-snprintf-posix.h (test_function): Also check the width
1797         and some flags in the %f directive.
1798         * tests/test-sprintf-posix.h (test_function): Likewise.
1799         * tests/test-vasnprintf-posix.c (test_function): Likewise.
1800         * tests/test-vasprintf-posix.c (test_function): Likewise.
1801         * doc/functions/fprintf.texi: Update.
1802         * doc/functions/printf.texi: Update.
1803         * doc/functions/snprintf.texi: Update.
1804         * doc/functions/sprintf.texi: Update.
1805         * doc/functions/vfprintf.texi: Update.
1806         * doc/functions/vprintf.texi: Update.
1807         * doc/functions/vsnprintf.texi: Update.
1808         * doc/functions/vsprintf.texi: Update.
1809
1810 2007-05-06  Bruno Haible  <bruno@clisp.org>
1811
1812         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
1813         pass the ' flag character to sprintf or snprintf.
1814         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
1815         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
1816         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
1817         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
1818         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
1819         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1820         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
1821         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1822         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1823         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
1824         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1825         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1826         * tests/test-snprintf-posix.h (test_function): Also check the grouping
1827         flag.
1828         * tests/test-sprintf-posix.h (test_function): Likewise.
1829         * tests/test-vasnprintf-posix.c (test_function): Likewise.
1830         * tests/test-vasprintf-posix.c (test_function): Likewise.
1831         * doc/functions/fprintf.texi: Update.
1832         * doc/functions/printf.texi: Update.
1833         * doc/functions/snprintf.texi: Update.
1834         * doc/functions/sprintf.texi: Update.
1835         * doc/functions/vfprintf.texi: Update.
1836         * doc/functions/vprintf.texi: Update.
1837         * doc/functions/vsnprintf.texi: Update.
1838         * doc/functions/vsprintf.texi: Update.
1839
1840 2007-05-01  Bruno Haible  <bruno@clisp.org>
1841
1842         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
1843
1844 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
1845
1846         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
1847         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
1848
1849 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
1850
1851         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
1852         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
1853         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
1854
1855 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
1856
1857         * lib/argp-help.c (struct hol_entry): New member `ord'.
1858         (HOL_ENTRY_PTRCMP): Use ord for comparison
1859         (hol_sort): Initialize ord.
1860
1861 2007-05-01  Bruno Haible  <bruno@clisp.org>
1862
1863         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
1864         Reported by Eric Blake.
1865         * doc/gnulib.texi (Function Substitutes): Update.
1866
1867 2007-05-01  Bruno Haible  <bruno@clisp.org>
1868
1869         * doc/functions.texi: Remove file, now redundant through
1870         doc/functions/*.texi.
1871
1872 2007-05-01  Bruno Haible  <bruno@clisp.org>
1873
1874         * modules/argp (Depends-on): Add sleep.
1875
1876 2007-05-01  Bruno Haible  <bruno@clisp.org>
1877
1878         * modules/sleep-tests: New file.
1879         * tests/test-sleep.c: New file.
1880
1881         * modules/sleep: New file.
1882         * lib/sleep.c: New file.
1883         * m4/sleep.m4: New file.
1884         * lib/unistd_.h (sleep): New declaration.
1885         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
1886         HAVE_SLEEP.
1887         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
1888         * doc/functions/sleep.texi: Document the sleep module.
1889
1890 2007-05-01  Bruno Haible  <bruno@clisp.org>
1891
1892         * lib/sigprocmask.h: Remove file.
1893         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
1894         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
1895         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
1896         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
1897         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
1898         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
1899         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
1900         HAVE_SIGSET_T as a shell variable.
1901         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
1902         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
1903         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
1904         (Depends-on): Add signal. Remove verify.
1905         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
1906         (Include): Mention <signal.h> instead of sigprocmask.h.
1907         * NEWS: Mention the change.
1908         * lib/fatal-signal.c: Don't include sigprocmask.h.
1909
1910 2007-05-01  Bruno Haible  <bruno@clisp.org>
1911
1912         * modules/signal: New file.
1913         * lib/signal_.h: New file.
1914         * m4/signal_h.m4: New file.
1915
1916 2007-05-01  Bruno Haible  <bruno@clisp.org>
1917
1918         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
1919         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
1920         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
1921         HAVE_WCTYPE_CTMP_BUG into wctype.h.
1922
1923 2007-05-01  Bruno Haible  <bruno@clisp.org>
1924
1925         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
1926         configure time.
1927         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
1928         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
1929         * modules/sys_stat (Makefile.am): Substitute their values into
1930         sys/stat.h.
1931
1932 2007-05-01  Bruno Haible  <bruno@clisp.org>
1933
1934         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
1935         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
1936         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
1937
1938 2007-05-01  Bruno Haible  <bruno@clisp.org>
1939
1940         * doc/header/assert.texi: Undo last change: don't mention the gnulib
1941         'assert' module here.
1942
1943 2007-05-01  Bruno Haible  <bruno@clisp.org>
1944
1945         * doc/functions/*.texi: New files.
1946         * doc/functions/google-ranking.txt: New file.
1947         * doc/gnulib.texi (Function Substitutes): New chapter.
1948         (ctime, inet_ntoa): Remove sections.
1949         * doc/ctime.texi: Remove file.
1950         * doc/inet_ntoa.texi: Remove file.
1951         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
1952         dependencies.
1953         (%.info): New rule, specifying a --reference-limit.
1954
1955 2007-05-01  Bruno Haible  <bruno@clisp.org>
1956
1957         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
1958
1959 2007-05-01  Bruno Haible  <bruno@clisp.org>
1960
1961         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
1962         the portability of 'mkdir' to mingw systems.
1963
1964 2007-05-01  Bruno Haible  <bruno@clisp.org>
1965
1966         * doc/headers/google-ranking.txt: New file.
1967
1968 2007-04-30  Eric Blake  <ebb9@byu.net>
1969
1970         Prefer fseeko to fseek.
1971         * modules/getpass (Depends-on): Add fseeko.
1972         * lib/getpass.c (getpass): Use fseeko, not fseek.
1973
1974 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
1975
1976         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
1977         assumes the sorting is stable, while most qsort implementations
1978         are not.  Use argument addresses to ensure they never compare as
1979         equal.
1980
1981         * tests/test-argp-2.sh (usage-indent test): Fix output
1982         (func_compare): Restore diff options
1983         * tests/test-argp.c: Restore #include "progname.h"
1984
1985 2007-04-29  Bruno Haible  <bruno@clisp.org>
1986
1987         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
1988         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
1989         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
1990         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1991         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
1992         (configure.ac): Define CHECK_SNPRINTF_POSIX.
1993         (TESTS, check_PROGRAMS): Add test-snprintf.
1994         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
1995         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
1996         (TESTS, check_PROGRAMS): Add test-vsnprintf.
1997         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
1998         assertions that fail on HP-UX, OSF/1, or IRIX.
1999         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
2000
2001 2007-04-29  Bruno Haible  <bruno@clisp.org>
2002
2003         * MODULES.html.sh (posix_functions): Remove 'contents'.
2004
2005 2007-04-29  Karl Berry  <karl@gnu.org>
2006
2007         * config/srclist.txt (gendocs_template_min): new entry.
2008
2009 2007-04-29  Bruno Haible  <bruno@clisp.org>
2010
2011         Work around fpurge bug on BSD systems.
2012         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
2013         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
2014         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
2015         fpurge to rpl_fpurge if the system already has this function.
2016         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
2017         the case where the system already has this function. Correct invariants
2018         on BSD systems.
2019         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
2020         BSD systems.
2021
2022 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
2023
2024         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
2025         proposed by Sven Verdoolaege.
2026
2027         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
2028         options.
2029         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
2030         (usage and help tests): Update
2031
2032 2007-04-29  Bruno Haible  <bruno@clisp.org>
2033
2034         * tests/test-fflush.c (main): Use a file of size 17, not 10.
2035         Print more information in case of failure. Disable a test on BeOS.
2036
2037 2007-04-29  Bruno Haible  <bruno@clisp.org>
2038
2039         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
2040         This helps debugging on systems on which no gdb is available.
2041
2042 2007-04-29  Bruno Haible  <bruno@clisp.org>
2043
2044         * lib/freading.h: Improve comments.
2045         * lib/fwriting.h: Likewise.
2046         * tests/test-freading.c (main): Don't check freading immediately after
2047         repositioning. Needed for glibc.
2048
2049 2007-04-29  Bruno Haible  <bruno@clisp.org>
2050
2051         * lib/freading.c (freading): Trivial simplification.
2052
2053 2007-04-28  Bruno Haible  <bruno@clisp.org>
2054
2055         * tests/test-fwriting.c (main): Also test the interaction between
2056         fflush and fwriting.
2057         * modules/fwriting-tests (Depends-on): Add fflush.
2058
2059         * tests/test-freading.c (main): Also test the interaction between
2060         fflush and freading.
2061         * modules/freading-tests (Depends-on): Add fflush.
2062
2063 2007-04-28  Bruno Haible  <bruno@clisp.org>
2064
2065         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
2066         fseeko and ftello.
2067         Suggested by Eric Blake.
2068
2069 2007-04-28  Jim Meyering  <jim@meyering.net>
2070
2071         Avoid false-negative in gl_STDINT_H's C99 conformance test.
2072         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
2073         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
2074
2075 2007-04-27  Eric Blake  <ebb9@byu.net>
2076
2077         * doc/headers/assert.texi (assert.h): Document assert module use.
2078
2079 2007-04-27  Bruno Haible  <bruno@clisp.org>
2080
2081         * doc/headers/*.texi: New files.
2082         * doc/gnulib.texi (Header File Substitutes): New chapter.
2083         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
2084         dependencies.
2085         (standards.info ,standards.html, standards.dvi): Update dependencies.
2086         (mostlyclean, clean): New targets.
2087
2088 2007-04-27  Bruno Haible  <bruno@clisp.org>
2089
2090         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
2091         * modules/sysexits (Files, Makefile.am): Update.
2092
2093         * lib/sys_socket_.h: Renamed from lib/socket_.h.
2094         * modules/sys_socket (Files, Makefile.am): Update.
2095
2096         * lib/sys_stat_.h: Renamed from lib/stat_.h.
2097         * modules/sys_stat (Files, Makefile.am): Update.
2098
2099 2007-04-27  Eric Blake  <ebb9@byu.net>
2100
2101         * lib/freading.h: Improve comments.
2102         * lib/fwriting.h: Likewise.
2103         * lib/fflush.c: Likewise.
2104
2105         Fix closein for mingw.
2106         * modules/closein-tests: Add tests for closein.
2107         * tests/test-closein.c: New file.
2108         * tests/test-closein.sh: Likewise.
2109         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
2110         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
2111
2112 2007-04-27  Bruno Haible  <bruno@clisp.org>
2113
2114         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
2115         version is < 6.
2116         * lib/math_.h [__DECC]: Likewise.
2117         * lib/stdio_.h [__DECC]: Likewise.
2118         * lib/stdlib_.h [__DECC]: Likewise.
2119         * lib/string_.h [__DECC]: Likewise.
2120         * lib/time_.h [__DECC]: Likewise.
2121         * lib/wchar_.h [__DECC]: Likewise.
2122         * lib/wctype_.h [__DECC]: Likewise.
2123
2124 2007-04-27  Bruno Haible  <bruno@clisp.org>
2125
2126         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
2127
2128 2007-04-27  Bruno Haible  <bruno@clisp.org>
2129
2130         * lib/fflush.c: Add comments.
2131         * modules/fpurge-tests (Depends-on): Add fflush.
2132         * modules/freadable-tests (Depends-on): Likewise.
2133         * modules/fwritable-tests (Depends-on): Likewise.
2134
2135 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
2136
2137         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
2138         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
2139         Report by Bruno Haible <bruno@clisp.org>.
2140
2141 2007-04-26  Eric Blake  <ebb9@byu.net>
2142
2143         Fix fflush on mingw.
2144         * modules/fflush (Depends-on): Add freading.
2145         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
2146         but unread data.
2147
2148 2007-04-26  Eric Blake  <ebb9@byu.net>
2149         and Bruno Haible  <bruno@clisp.org>
2150
2151         Implement freading and fwriting.
2152         * lib/freading.c: New file.
2153         * lib/freading.h: Likewise.
2154         * m4/freading.m4: Likewise.
2155         * modules/freading: Likewise.
2156         * modules/freading-tests: Likewise.
2157         * tests/test-freading.c: Likewise.
2158         * lib/fwriting.c: New file.
2159         * lib/fwriting.h: Likewise.
2160         * m4/fwriting.m4: Likewise.
2161         * modules/fwriting: Likewise.
2162         * modules/fwriting-tests: Likewise.
2163         * tests/test-fwriting.c: Likewise.
2164         * MODULES.html.sh (File stream based Input/Output): Mention them.
2165
2166 2007-04-26  Bruno Haible  <bruno@clisp.org>
2167
2168         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
2169         'long' when we assume it.
2170         Suggested by Eric Blake.
2171
2172 2007-04-26  Bruno Haible  <bruno@clisp.org>
2173
2174         Ensure fseeko, ftello are declared on glibc systems.
2175         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
2176         * modules/fseeko (configure.ac-early): Likewise.
2177         * modules/ftello (configure.ac-early): Likewise.
2178         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
2179         AC_FUNC_FSEEKO for this.
2180         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
2181         (gl_CHECK_FSEEKO): Remove macro.
2182
2183 2007-04-26  Bruno Haible  <bruno@clisp.org>
2184
2185         * tests/test-fflush.c (main): Also check the ftell result after
2186         fflush and fseek/fseeko.
2187         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
2188         file descriptor position cache in the stream.
2189         * lib/fseeko.c (rpl_fseeko): Likewise.
2190
2191 2007-04-26  Bruno Haible  <bruno@clisp.org>
2192
2193         * modules/fflush-tests (Depends-on): Add fseeko.
2194
2195 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
2196             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2197
2198         * lib/argz_.h: ensure error_t definition is obtained in same
2199         mechanism system argz.h would have.
2200         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
2201         argz facilities are known bad.  Err on the side of caution if
2202         cross-compiling.
2203
2204 2007-04-25  Eric Blake  <ebb9@byu.net>
2205
2206         * lib/fpurge.c (includes): Use stdlib.h for free.
2207         * tests/test-fflush.c (main): Also test fflush-fseeko.
2208
2209 2007-04-25  Bruno Haible  <bruno@clisp.org>
2210
2211         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
2212         * lib/fseeko.c: New file.
2213         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
2214         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
2215         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
2216         gl_FUNC_FSEEKO.
2217         (gl_FUNC_FSEEKO): Invoke it.
2218         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
2219         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
2220         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
2221
2222 2007-04-25  Bruno Haible  <bruno@clisp.org>
2223
2224         * modules/fflush (Depends-on): Add ftello.
2225
2226 2007-04-25  Bruno Haible  <bruno@clisp.org>
2227
2228         * modules/ftello-tests: New file.
2229         * tests/test-ftello.c: New file.
2230
2231         * modules/ftello: New file.
2232         * m4/ftello.m4: New file.
2233         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
2234         HAVE_FTELLO.
2235         * lib/stdio_.h (ftello): New declaration.
2236         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
2237         HAVE_FTELLO.
2238
2239 2007-04-25  Bruno Haible  <bruno@clisp.org>
2240
2241         * modules/fseeko-tests: New file.
2242         * tests/test-fseeko.c: New file.
2243
2244         * modules/fseeko: New file.
2245         * m4/fseeko.m4: New file.
2246         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
2247         HAVE_FSEEKO.
2248         * lib/stdio_.h (fseeko): New declaration.
2249         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
2250         HAVE_FSEEKO.
2251
2252 2007-04-25  Bruno Haible  <bruno@clisp.org>
2253
2254         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
2255
2256 2007-04-25  Bruno Haible  <bruno@clisp.org>
2257
2258         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
2259         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
2260         * tests/test-unistd.c: Likewise.
2261         * tests/test-fcntl.c: Likewise.
2262
2263 2007-04-23  Eric Blake  <ebb9@byu.net>
2264
2265         * lib/fflush.c: Fix missing include.
2266         Reported by Bruno Haible.
2267
2268 2007-04-23  Bruno Haible  <bruno@clisp.org>
2269
2270         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
2271         Reported by Eric Blake.
2272
2273 2007-04-23  Bruno Haible  <bruno@clisp.org>
2274
2275         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
2276
2277 2007-04-23  Bruno Haible  <bruno@clisp.org>
2278
2279         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
2280
2281 2007-04-23  Bruno Haible  <bruno@clisp.org>
2282
2283         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
2284         Needed on HP-UX 11.
2285
2286 2007-04-16  Eric Blake  <ebb9@byu.net>
2287
2288         Make fflush rely on fpurge.
2289         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
2290         open coding all variants.
2291         * modules/fflush (Depends-on): Add fpurge and unistd.
2292         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
2293         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
2294
2295         Fix --with-tests compilation on cygwin.
2296         * modules/argmatch-tests (Makefile.am): List gnulib library first
2297         in LDADD.
2298         * modules/argp-tests (Makefile.am): Likewise.
2299         * modules/array-list-tests (Makefile.am): Likewise.
2300         * modules/array-oset-tests (Makefile.am): Likewise.
2301         * modules/avltree-list-tests (Makefile.am): Likewise.
2302         * modules/avltree-oset-tests (Makefile.am): Likewise.
2303         * modules/avltreehash-list-tests (Makefile.am): Likewise.
2304         * modules/carray-list-tests (Makefile.am): Likewise.
2305         * modules/dirname-tests (Makefile.am): Likewise.
2306         * modules/frexp-tests (Makefile.am): Likewise.
2307         * modules/isnanl-tests (Makefile.am): Likewise.
2308         * modules/linked-list-tests (Makefile.am): Likewise.
2309         * modules/linkedhash-list-tests (Makefile.am): Likewise.
2310         * modules/lock-tests (Makefile.am): Likewise.
2311         * modules/rbtree-list-tests (Makefile.am): Likewise.
2312         * modules/rbtree-oset-tests (Makefile.am): Likewise.
2313         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
2314         * modules/tls-tests (Makefile.am): Likewise.
2315         * modules/tsearch-tests (Makefile.am): Likewise.
2316         * modules/xvasprintf-tests (Makefile.am): Likewise.
2317
2318         Fix fpurge for cygwin.
2319         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
2320         value.
2321         * modules/fpurge-tests (Depends-on): Clean up trash.
2322
2323 2007-04-16  Simon Josefsson  <simon@josefsson.org>
2324
2325         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
2326
2327         * m4/autobuild.m4: Re-indent.
2328
2329 2007-04-13  Bruno Haible  <bruno@clisp.org>
2330
2331         * modules/fpurge-tests: New file.
2332         * tests/test-fpurge.c: New file.
2333
2334         * modules/fpurge: New file.
2335         * lib/fpurge.h: New file.
2336         * lib/fpurge.c: New file.
2337         * m4/fpurge.m4: New file.
2338
2339 2007-04-13  Bruno Haible  <bruno@clisp.org>
2340
2341         * modules/fbufmode-tests: New file.
2342         * tests/test-fbufmode.c: New file.
2343
2344         * modules/fbufmode: New file.
2345         * lib/fbufmode.h: New file.
2346         * lib/fbufmode.c: New file.
2347         * m4/fbufmode.m4: New file.
2348
2349 2007-04-13  Bruno Haible  <bruno@clisp.org>
2350
2351         * modules/fwritable-tests: New file.
2352         * tests/test-fwritable.c: New file.
2353
2354         * modules/fwritable: New file.
2355         * lib/fwritable.h: New file.
2356         * lib/fwritable.c: New file.
2357         * m4/fwritable.m4: New file.
2358
2359 2007-04-13  Bruno Haible  <bruno@clisp.org>
2360
2361         * modules/freadable-tests: New file.
2362         * tests/test-freadable.c: New file.
2363
2364         * modules/freadable: New file.
2365         * lib/freadable.h: New file.
2366         * lib/freadable.c: New file.
2367         * m4/freadable.m4: New file.
2368
2369 2007-04-13  Bruno Haible  <bruno@clisp.org>
2370
2371         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
2372         MOSTLYCLEANFILES.
2373
2374 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
2375
2376         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
2377         gzip bootstrap.conf to avoid dragging in i18n machinery.
2378         (gnulib_tool_option): Use it.
2379
2380 2007-04-13  Bruno Haible  <bruno@clisp.org>
2381
2382         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
2383         %F directives.
2384         * tests/test-vasprintf-posix.c (test_function): Likewise.
2385         * tests/test-snprintf-posix.h (test_function): Likewise.
2386         * tests/test-sprintf-posix.h (test_function): Likewise.
2387         * tests/test-fprintf-posix.h (test_function): Likewise.
2388         * tests/test-printf-posix.h (test_function): Likewise.
2389         * tests/test-fprintf-posix.out: Likewise.
2390
2391 2007-04-13  Bruno Haible  <bruno@clisp.org>
2392
2393         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
2394         * modules/tls-tests (configure.ac): Likewise.
2395         Reported by Arto C. Nirkko <anirkko@insel.ch>.
2396
2397 2007-04-13  Bruno Haible  <bruno@clisp.org>
2398
2399         * lib/tls.c (glthread_tls_get): Fix return type.
2400         Patch by Arto C. Nirkko <anirkko@insel.ch>.
2401
2402 2007-04-12  Eric Blake  <ebb9@byu.net>
2403
2404         * modules/gettime (Depends-on): Remove gettime.
2405         Reported by Dmitry V. Levin.
2406
2407 2007-04-12  Bruno Haible  <bruno@clisp.org>
2408
2409         * modules/fflush (Include): Mention <stdio.h>.
2410         * modules/strtoimax (Include): Mention <inttypes.h>.
2411         * modules/strtoumax (Include): Likewise.
2412
2413 2007-04-12  Eric Blake  <ebb9@byu.net>
2414
2415         * .cvsignore: New file.
2416         * .gitignore: Likewise.
2417
2418 2007-04-12  Bruno Haible  <bruno@clisp.org>
2419
2420         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
2421         not before, since $(LDADD) often contains libgnu.a.
2422         * modules/striconv-tests (test_striconv_LDADD): Likewise.
2423         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
2424         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
2425         Needed on Cygwin.
2426
2427 2007-04-12  Eric Blake  <ebb9@byu.net>
2428
2429         Work around glibc's failure to flush stdin on fclose.
2430         * lib/closein.c (close_stdin): Flush stdin before closing.
2431
2432         Work around glibc's failure to reset seekable stdin on exit.
2433         * modules/closein: New module.
2434         * lib/closein.c: New file.
2435         * lib/closein.h: Likewise.
2436         * m4/closein.m4: Likewise.
2437         * MODULES.html.sh (File stream based Input/Output): Document it.
2438
2439 2007-04-12  Simon Josefsson  <simon@josefsson.org>
2440
2441         * gnulib-tool: Rename generated 'autobuild' script to
2442         'do-autobuild' in --create-megatestdir output.
2443
2444         * doc/gnulib.texi (Build robot for gnulib): Fix.
2445
2446 2007-04-12  Simon Josefsson  <simon@josefsson.org>
2447
2448         * modules/sysexits (Depends-on): Add absolute-header.
2449
2450 2007-04-12  Eric Blake  <ebb9@byu.net>
2451
2452         No need to preserve errno on success.
2453         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
2454         Reported by Bruno Haible.
2455
2456 2007-04-12  Simon Josefsson  <simon@josefsson.org>
2457
2458         * MODULES.html.sh (Support for maintaining and releasing
2459         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
2460
2461 2007-04-12  Simon Josefsson  <simon@josefsson.org>
2462
2463         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
2464
2465 2007-04-12  Simon Josefsson  <simon@josefsson.org>
2466
2467         * modules/autobuild: New module.
2468
2469         * m4/autobuild.m4: New file.
2470
2471 2007-04-11  Bruno Haible  <bruno@clisp.org>
2472
2473         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
2474         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
2475         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
2476         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
2477         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
2478         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
2479         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
2480         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
2481         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
2482         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
2483         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
2484         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
2485         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
2486         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
2487         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
2488         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
2489         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
2490         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
2491         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
2492         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
2493         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
2494         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
2495         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
2496         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
2497         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
2498         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
2499         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
2500         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
2501         Reported by Eric Blake.
2502
2503 2007-04-11  Bruno Haible  <bruno@clisp.org>
2504
2505         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
2506
2507 2007-04-10  Bruno Haible  <bruno@clisp.org>
2508
2509         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
2510         for NaN and Infinity. Needed on FreeBSD 6.1.
2511         * tests/test-vasnprintf-posix.c (test_function): Undo last change
2512         regarding results for "%010a" of Infinity and NaN.
2513         * tests/test-vasprintf-posix.c (test_function): Likewise.
2514         * tests/test-snprintf-posix.h (test_function): Likewise.
2515         * tests/test-sprintf-posix.h (test_function): Likewise.
2516         * tests/test-fprintf-posix.h (test_function): Likewise.
2517         * tests/test-printf-posix.h (test_function): Likewise.
2518         * tests/test-fprintf-posix.out: Likewise.
2519
2520 2007-04-10  Bruno Haible  <bruno@clisp.org>
2521
2522         * modules/locale-tests: New file.
2523         * tests/test-locale.c: New file.
2524
2525         * modules/locale: New file.
2526         * lib/locale_.h: New file.
2527         * m4/locale_h.m4: New file.
2528
2529 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
2530             Bruno Haible  <bruno@clisp.org>
2531
2532         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
2533         be determined, test for availability of the copysignf, copysign,
2534         copysignl functions.
2535         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
2536         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
2537         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
2538
2539 2007-04-09  Eric Blake  <ebb9@byu.net>
2540
2541         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
2542         * modules/stdio (Makefile.am): Support fflush.
2543         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
2544         * modules/fflush: New file.
2545         * lib/fflush.c: Likewise.
2546         * m4/fflush.m4: Likewise.
2547         * modules/fflush-tests: New test.
2548         * tests/test-fflush.c: Likewise.
2549         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
2550
2551 2007-04-06  Bruno Haible  <bruno@clisp.org>
2552
2553         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
2554         (VASNPRINTF): Use signbit for faster determination whether to print a
2555         minus sign.
2556         * modules/vasnprintf (Files): Remove lib/float+.h.
2557         * modules/fprintf-posix (Depends-on): Add signbit.
2558         * modules/snprintf-posix (Depends-on): Likewise.
2559         * modules/sprintf-posix (Depends-on): Likewise.
2560         * modules/vasnprintf-posix (Depends-on): Likewise.
2561         * modules/vasprintf-posix (Depends-on): Likewise.
2562         * modules/vfprintf-posix (Depends-on): Likewise.
2563         * modules/vsnprintf-posix (Depends-on): Likewise.
2564         * modules/vsprintf-posix (Depends-on): Likewise.
2565
2566 2007-04-06  Bruno Haible  <bruno@clisp.org>
2567
2568         * tests/test-frexp.c (main): Test also the sign bit of zero results.
2569         * tests/test-frexpl.c (main): Likewise.
2570         * tests/test-ldexpl.c (main): Likewise.
2571         * modules/frexp-tests (Depends-on): Add signbit.
2572         * modules/frexpl-tests (Depdends-on): Likewise.
2573         * modules/ldexpl-tests (Depdends-on): Likewise.
2574
2575 2007-04-06  Bruno Haible  <bruno@clisp.org>
2576
2577         * modules/signbit-tests: New file.
2578         * tests/test-signbit.c: New file.
2579
2580         * modules/signbit: New file.
2581         * lib/signbitf.c: New file.
2582         * lib/signbitd.c: New file.
2583         * lib/signbitl.c: New file.
2584         * m4/signbit.m4: New file.
2585         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
2586         (signbit): New macro.
2587         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
2588         REPLACE_SIGNBIT.
2589         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
2590         REPLACE_FREXPL into math.h.
2591
2592 2007-04-06  Bruno Haible  <bruno@clisp.org>
2593
2594         * modules/isnanf-nolibm-tests: New file.
2595         * tests/test-isnanf.c: New file.
2596
2597         * modules/isnanf-nolibm: New file.
2598         * lib/isnanf.h: New file.
2599         * lib/isnanf.c: New file.
2600         * lib/isnan.c: Consider the USE_FLOAT macro.
2601         * m4/isnanf.m4: New file.
2602
2603 2007-04-06  Bruno Haible  <bruno@clisp.org>
2604
2605         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
2606         (Link): New section.
2607
2608         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
2609
2610 2007-04-06  Bruno Haible  <bruno@clisp.org>
2611
2612         Assume the 'long double' type.
2613         * m4/longdouble.m4: Remove file.
2614         * config/srclist.txt: Don't mention longdouble.m4.
2615         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
2616         * lib/float+.h: Likewise.
2617         * lib/frexp.c: Likewise.
2618         * lib/printf-args.h: Likewise.
2619         * lib/printf-args.c: Likewise.
2620         * lib/printf-frexp.c: Likewise.
2621         * lib/printf-parse.c: Likewise.
2622         * lib/vasnprintf.c: Likewise.
2623         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
2624         * m4/intl.m4: Likewise.
2625         * m4/isnanl.m4: Likewise.
2626         * m4/printf.m4: Likewise.
2627         * m4/printf-frexpl.m4: Likewise.
2628         * m4/vasnprintf.m4: Likewise.
2629         * modules/allocsa (Files): Remove m4/longdouble.m4.
2630         * modules/gettext (Files): Likewise.
2631         * modules/relocatable-prog-wrapper (Files): Likewise.
2632         * modules/vasnprintf (Files): Likewise.
2633         * modules/isnanl (Files): Likewise.
2634         (Include): Simplify.
2635         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
2636         (Include): Simplify.
2637         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
2638         (Include): Simplify.
2639         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
2640         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
2641         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
2642         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
2643         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
2644         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
2645         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
2646         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
2647         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
2648         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
2649         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
2650         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
2651         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
2652         * tests/test-isnanl.c: Likewise.
2653         * tests/test-snprintf-posix.h: Likewise.
2654         * tests/test-sprintf-posix.h: Likewise.
2655         * tests/test-vasnprintf-posix.c: Likewise.
2656         * tests/test-vasnprintf-posix2.c: Likewise.
2657         * tests/test-vasprintf-posix.c: Likewise.
2658
2659 2007-04-06  Bruno Haible  <bruno@clisp.org>
2660
2661         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
2662         * lib/math_.h [__DECC]: Include the overridden include file through
2663         #include_next, outside the double-inclusion guard.
2664         * lib/stdio_.h [__DECC]: Likewise.
2665         * lib/stdlib_.h [__DECC]: Likewise.
2666         * lib/string_.h [__DECC]: Likewise.
2667         * lib/time_.h [__DECC]: Likewise.
2668         * lib/wchar_.h [__DECC]: Likewise.
2669         * lib/wctype_.h [__DECC]: Likewise.
2670         * lib/inttypes_.h [__DECC]: Likewise.
2671         Reported by Albert Chin <china@thewrittenword.com> in
2672         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
2673
2674 2007-04-04  Eric Blake  <ebb9@byu.net>
2675
2676         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
2677         1.5.x.
2678
2679 2007-04-04  Bruno Haible  <bruno@clisp.org>
2680
2681         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
2682         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
2683
2684 2007-04-04  Bruno Haible  <bruno@clisp.org>
2685
2686         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
2687         results for "%010a" of Infinity and NaN.
2688         * tests/test-vasprintf-posix.c (test_function): Likewise.
2689         * tests/test-snprintf-posix.h (test_function): Likewise.
2690         * tests/test-sprintf-posix.h (test_function): Likewise.
2691         * tests/test-fprintf-posix.h (test_function): Remove these tests.
2692         * tests/test-printf-posix.h (test_function): Likewise.
2693         * tests/test-fprintf-posix.out: Update.
2694         Needed for FreeBSD 6.1.
2695
2696 2007-04-04  Bruno Haible  <bruno@clisp.org>
2697
2698         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
2699         directly used by the gnulib modules nor by gnulib-tool.
2700
2701 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
2702
2703         * DEPENDENCIES: Give overall description of version dependency
2704         desirability.  Use more-typical names for apps.
2705         Add shell, coreutils, diffutils, grep, tar, gzip.
2706
2707 2007-04-04  Simon Josefsson  <simon@josefsson.org>
2708
2709         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
2710
2711 2007-04-04  Karl Berry  <karl@gnu.org>
2712
2713         * MODULES.html.sh (func_module): missing '.
2714
2715 2007-04-03  Bruno Haible  <bruno@clisp.org>
2716
2717         * modules/argmatch-tests (Makefile.am): New variable
2718         test_argmatch_LDADD.
2719         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
2720         * modules/array-list-tests (Makefile.am): New variable
2721         test_array_list_LDADD.
2722         * modules/array-oset-tests (Makefile.am): New variable
2723         test_array_oset_LDADD.
2724         * modules/avltree-list-tests (Makefile.am): New variable
2725         test_avltree_list_LDADD.
2726         * modules/avltree-oset-tests (Makefile.am): New variable
2727         test_avltree_oset_LDADD.
2728         * modules/avltreehash-list-tests (Makefile.am): New variable
2729         test_avltreehash_list_LDADD.
2730         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
2731         test_canonicalize_lgpl_LDADD.
2732         * modules/carray-list-tests (Makefile.am): New variable
2733         test_carray_list_LDADD.
2734         * modules/dirname-tests (Makefile.am): New variable
2735         test_dirname_LDADD.
2736         * modules/linked-list-tests (Makefile.am): New variable
2737         test_linked_list_LDADD.
2738         * modules/linkedhash-list-tests (Makefile.am): New variable
2739         test_linkedhash_list_LDADD.
2740         * modules/rbtree-list-tests (Makefile.am): New variable
2741         test_rbtree_list_LDADD.
2742         * modules/rbtree-oset-tests (Makefile.am): New variable
2743         test_rbtree_oset_LDADD.
2744         * modules/rbtreehash-list-tests (Makefile.am): New variable
2745         test_rbtreehash_list_LDADD.
2746         * modules/xvasprintf-tests (Makefile.am): New variable
2747         test_xvasprintf_LDADD.
2748         Reported by Eric Blake.
2749
2750 2007-04-03  Eric Blake  <ebb9@byu.net>
2751
2752         * DEPENDENCIES: Weaken m4 requirements.
2753
2754 2007-04-03  Bruno Haible  <bruno@clisp.org>
2755
2756         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
2757         * modules/isnanl-tests (configure.ac): Likewise.
2758
2759 2007-04-03  Ben Pfaff  <blp@gnu.org>
2760
2761         * modules/iconv_open: Add $(srcdir)/ to source directory
2762         references in Makefile fragments that call gperf, to fix VPATH
2763         builds.
2764
2765 2007-04-03  Bruno Haible  <bruno@clisp.org>
2766
2767         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
2768         * lib/ldexpl.c: Undo last change.
2769
2770 2007-04-03  Bruno Haible  <bruno@clisp.org>
2771
2772         * modules/printf-frexpl (Depends-on): Undo last change.
2773         (Files): Add m4/ldexpl.m4.
2774
2775 2007-04-03  Bruno Haible  <bruno@clisp.org>
2776
2777         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
2778         * modules/isnanl (Link): New section.
2779
2780         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
2781         * modules/frexp (Link): New section.
2782
2783         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
2784         * modules/frexpl (Link): New section.
2785
2786         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
2787         * modules/ldexpl (Link): New section.
2788
2789 2007-04-03  Bruno Haible  <bruno@clisp.org>
2790
2791         * modules/TEMPLATE-EXTENDED: New file.
2792         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
2793
2794 2007-04-03  Bruno Haible  <bruno@clisp.org>
2795
2796         * DEPENDENCIES: New file.
2797         Suggested by Simon Josefsson.
2798
2799 2007-04-03  Bruno Haible  <bruno@clisp.org>
2800
2801         * doc/gnulib.texi: Escape @.
2802
2803 2007-04-03  James Youngman  <jay@gnu.org>
2804         and Paul Eggert  <eggert@cs.ucla.edu>
2805
2806         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
2807         birthtime on all systems that have birthtime, not just those which
2808         use st_birthtimensec rather than st_birthtim.  Putting zero in
2809         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
2810         that the birth time is not available for files on an NFS mount.
2811
2812 2007-04-03  Simon Josefsson  <simon@josefsson.org>
2813
2814         * modules/memxor: Move back from crypto/, suggested by Bruno.
2815         * modules/crypto/hmac-sha1: Fix memxor dependency.
2816
2817         * modules/crypto/gc: Moved from ../.
2818
2819 2007-04-02  Eric Blake  <ebb9@byu.net>
2820
2821         * lib/ldexpl.c (includes): Avoid libm.
2822
2823         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
2824
2825 2007-04-02  Bruno Haible  <bruno@clisp.org>
2826
2827         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
2828         on IRIX.
2829
2830 2007-04-02  Bruno Haible  <bruno@clisp.org>
2831
2832         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
2833         x86 or x86_64 platforms running MacOS X.
2834         Reported by Ryan Schmidt <@ryandesign.com>.
2835
2836 2007-04-02  Bruno Haible  <bruno@clisp.org>
2837
2838         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
2839         i386.
2840
2841 2007-04-01  Simon Josefsson  <simon@josefsson.org>
2842
2843         * modules/crypto/arcfour: Moved from ../.
2844         * modules/crypto/arcfour-tests: Moved from ../.
2845         * modules/crypto/arctwo: Moved from ../.
2846         * modules/crypto/arctwo-tests: Moved from ../.
2847         * modules/crypto/des: Moved from ../.
2848         * modules/crypto/des-tests: Moved from ../.
2849         * modules/crypto/gc-arcfour: Moved from ../.
2850         * modules/crypto/gc-arcfour-tests: Moved from ../.
2851         * modules/crypto/gc-arctwo: Moved from ../.
2852         * modules/crypto/gc-arctwo-tests: Moved from ../.
2853         * modules/crypto/gc-des: Moved from ../.
2854         * modules/crypto/gc-des-tests: Moved from ../.
2855         * modules/crypto/gc-hmac-md5: Moved from ../.
2856         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
2857         * modules/crypto/gc-hmac-sha1: Moved from ../.
2858         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
2859         * modules/crypto/gc-md2: Moved from ../.
2860         * modules/crypto/gc-md2-tests: Moved from ../.
2861         * modules/crypto/gc-md4: Moved from ../.
2862         * modules/crypto/gc-md4-tests: Moved from ../.
2863         * modules/crypto/gc-md5: Moved from ../.
2864         * modules/crypto/gc-md5-tests: Moved from ../.
2865         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
2866         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
2867         * modules/crypto/gc-random: Moved from ../.
2868         * modules/crypto/gc-rijndael: Moved from ../.
2869         * modules/crypto/gc-rijndael-tests: Moved from ../.
2870         * modules/crypto/gc-sha1: Moved from ../.
2871         * modules/crypto/gc-sha1-tests: Moved from ../.
2872         * modules/crypto/gc-tests: Moved from ../.
2873         * modules/crypto/hmac-md5: Moved from ../.
2874         * modules/crypto/hmac-md5-tests: Moved from ../.
2875         * modules/crypto/hmac-sha1: Moved from ../.
2876         * modules/crypto/hmac-sha1-tests: Moved from ../.
2877         * modules/crypto/md2: Moved from ../.
2878         * modules/crypto/md2-tests: Moved from ../.
2879         * modules/crypto/md4: Moved from ../.
2880         * modules/crypto/md4-tests: Moved from ../.
2881         * modules/crypto/md5: Moved from ../.
2882         * modules/crypto/md5-tests: Moved from ../.
2883         * modules/crypto/memxor: Moved from ../.
2884         * modules/crypto/rijndael: Moved from ../.
2885         * modules/crypto/rijndael-tests: Moved from ../.
2886         * modules/crypto/sha1: Moved from ../.
2887
2888 2007-03-30  James Youngman  <jay@gnu.org>
2889
2890         * tests/test-stat-time.c (prepare_test): use chmod() rather than
2891         rename() to change the ctime of a file (because ctime is unaffected
2892         by rename on jfs2 on AIX 5.1).
2893         (main): Start by doing cleanup, in case a previous run failed leaving
2894         test files behind.
2895
2896 2007-03-31  Bruno Haible  <bruno@clisp.org>
2897
2898         Support old proprietary implementations of iconv.
2899         * modules/iconv_open: New file.
2900         * lib/iconv_.h: New file.
2901         * m4/iconv_h.m4: New file.
2902         * lib/iconv_open.c: New file.
2903         * lib/iconv_open-aix.gperf: New file.
2904         * lib/iconv_open-hpux.gperf: New file.
2905         * lib/iconv_open-irix.gperf: New file.
2906         * lib/iconv_open-osf.gperf: New file.
2907         * m4/iconv_open.m4: New file.
2908         * modules/linebreak (Depends-on): Add iconv_open.
2909         * modules/striconv (Depends-on): Likewise.
2910         * modules/striconveh (Depends-on): Likewise.
2911         * modules/unicodeio (Depends-on): Likewise.
2912         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
2913         (iconv_t)(-1).
2914         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
2915         conversion if cd is (iconv_t)(-1).
2916         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
2917         is not possible.
2918
2919 2007-03-31  Bruno Haible  <bruno@clisp.org>
2920
2921         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
2922         work on Solaris either. Protect also second use of "autodetect_jp".
2923
2924 2007-03-31  Bruno Haible  <bruno@clisp.org>
2925
2926         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
2927         the function is not present.
2928
2929 2007-03-31  Bruno Haible  <bruno@clisp.org>
2930
2931         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
2932         the function is not present.
2933
2934 2007-03-31  Bruno Haible  <bruno@clisp.org>
2935
2936         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
2937         a bug in HP-UX iconv_open().
2938
2939 2007-03-31  Bruno Haible  <bruno@clisp.org>
2940
2941         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
2942         (Mathematics <math.h>): New section, add fpieee.
2943         (Input/output <stdio.h>): Add fseterr.
2944         (Mathematics <math.h>): New section, add printf-frexp.
2945         (Container data structures): Add sublist.
2946         (Core language properties): Add fpucw, inline.
2947         (Functions for greatest-width integer types <inttypes.h>): Add
2948         imaxabs, imaxdiv, inttypes.
2949         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
2950         isnanl-nolibm, ldexp.
2951         (Mathematics <math.h>): New section, add printf-frexpl.
2952         (Support for systems lacking POSIX:2001): Add fprintf-posix,
2953         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
2954         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
2955         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
2956         (Unicode string functions): Add unistr/u*-mbtoucr.
2957         (Java): Add javacomp-script, javaexec-script.
2958         (C#): Add csharpcomp-script, csharpexec-script.
2959         (Support for building libraries and executables): Add havelib,
2960         relocatable-*.
2961         (Support for maintaining and releasing projects): Renamed from
2962         'Support for maintaining and release projects'. Add announce-gen.
2963
2964 2007-03-31  Bruno Haible  <bruno@clisp.org>
2965
2966         * README: Talk primarily about git.
2967         (git and CVS): Renamed from CVS.
2968         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
2969         gnulib is available through git.
2970         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
2971
2972 2007-03-30  Bruno Haible  <bruno@clisp.org>
2973
2974         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
2975         * lib/poll_.h: Likewise.
2976         * lib/stat_.h: Likewise.
2977         * lib/sys_time_.h: Likewise.
2978         * lib/sysexit_.h: Likewise.
2979         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
2980         * lib/stdbool_.h: Likewise.
2981         * lib/byteswap_.h: Add double-inclusion guard.
2982
2983 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
2984
2985         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
2986
2987 2007-03-30  Karl Berry  <karl@gnu.org>
2988
2989         * config/srclist-update: double space after USA in the license
2990         substitution, since that's how it's usually (?) written.
2991
2992 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
2993
2994         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
2995         reported by Bruno Haible.
2996
2997 2007-03-29  Bruno Haible  <bruno@clisp.org>
2998
2999         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
3000         a bug in AIX iconv().
3001
3002 2007-03-29  Bruno Haible  <bruno@clisp.org>
3003
3004         * modules/ldexpl-tests: New file.
3005         * tests/test-ldexpl.c: New file.
3006
3007 2007-03-29  Bruno Haible  <bruno@clisp.org>
3008
3009         * lib/ldexpl.c: Include fpucw.h.
3010         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
3011         multiplication.
3012         * modules/ldexpl (Depends-on): Add fpucw.
3013
3014 2007-03-29  Bruno Haible  <bruno@clisp.org>
3015
3016         * modules/ldexpl: New file.
3017         * m4/ldexpl.m4: New file.
3018         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
3019         set.
3020         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
3021         REPLACE_LDEXPL.
3022         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
3023         REPLACE_LDEXPL.
3024         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
3025         gl_FUNC_LDEXPL_WORKS.
3026         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
3027         * modules/mathl (Files): Remove lib/ldexpl.c.
3028         (Depends-on): Add ldexpl.
3029
3030 2007-03-29  Bruno Haible  <bruno@clisp.org>
3031
3032         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
3033
3034 2007-03-29  Bruno Haible  <bruno@clisp.org>
3035
3036         * tests/test-striconveh.c (main): Don't assume that a direct conversion
3037         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
3038         and possibly also HP-UX.
3039         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
3040         work on AIX, IRIX, HP-UX, OSF/1.
3041         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
3042         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
3043         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
3044         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
3045         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
3046         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
3047
3048 2007-03-29  Bruno Haible  <bruno@clisp.org>
3049
3050         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
3051
3052 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
3053
3054         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
3055         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
3056
3057 2007-03-29  Eric Blake  <ebb9@byu.net>
3058
3059         * lib/acl-internal.h: Remove redundant include.
3060         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
3061         Cygwin when a file is locked.
3062
3063 2007-03-29  Bruno Haible  <bruno@clisp.org>
3064
3065         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
3066         file.
3067         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
3068
3069 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
3070
3071         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
3072         try to remove a parent directory if the child couldn't be removed
3073         (except for the first rmdir, which could fail because the child
3074         doesn't exist).  Problem reported by Jeff Blaine in
3075         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
3076
3077 2007-03-28  Bruno Haible  <bruno@clisp.org>
3078
3079         * lib/striconveh.c (utf8conv_carefully): New function.
3080         (mem_cd_iconveh_internal): Invoke it.
3081
3082 2007-03-28  Bruno Haible  <bruno@clisp.org>
3083
3084         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
3085         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
3086         input.
3087         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
3088         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
3089         unistr/u8-uctomb.
3090
3091 2007-03-28  Bruno Haible  <bruno@clisp.org>
3092
3093         * modules/unistr/u8-mbtoucr: New file.
3094         * lib/unistr/u8-mbtoucr.c: New file.
3095         * modules/unistr/u16-mbtoucr: New file.
3096         * lib/unistr/u16-mbtoucr.c: New file.
3097         * modules/unistr/u16-mbtoucr: New file.
3098         * lib/unistr/u16-mbtoucr.c: New file.
3099         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
3100
3101 2007-03-27  Simon Josefsson  <simon@josefsson.org>
3102             Bruno Haible  <bruno@clisp.org>
3103
3104         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
3105         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
3106         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
3107
3108         * m4/stdio_h.m4: Add stubs for vasprintf too.
3109
3110         * modules/stdio: Support vasprintf in sed command.
3111
3112         * modules/vasprintf: Depend on stdio for prototypes.  Remove
3113         vasprintf.h.  Add stdio module indicator.
3114
3115         * lib/stdio_.h: Declare asprintf and vasprintf, based on
3116         vasprintf.h.
3117
3118         * lib/vasprintf.h: File removed.
3119
3120         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
3121         * lib/vasprintf.c: Ditto.
3122         * lib/xvasprintf.c: Ditto.
3123         * tests/test-vasprintf-posix.c: Ditto.
3124         * tests/test-vasprintf.c: Ditto.
3125
3126 2007-03-27  Bruno Haible  <bruno@clisp.org>
3127
3128         Make vasnprintf multithread-safe.
3129         * lib/vasnprintf.c (decimal_point_char): New function.
3130         (VASNPRINTF): Use it.
3131         Suggested by Simon Josefsson.
3132
3133 2007-03-27  Eric Blake  <ebb9@byu.net>
3134
3135         Support sub-second birthtime on cygwin.
3136         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
3137         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
3138         (get_stat_birthtime): Also work with st_birthtim.
3139
3140 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
3141
3142         * lib/stat-time.h (USE_BIRTHTIME): Remove.
3143         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
3144         (get_stat_birthtime_ns): Do not try to use "spare" fields.
3145         (get_stat_birthtime_ns): Simplify compile-time tests.
3146         (get_stat_birthtime): Change the API to look like
3147         get_stat_mtime etc., except return a negative tv_nsec on error.
3148         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
3149         Don't check for "spare" fields.
3150         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
3151         or for struct stat.st_birthtime, as these tests aren't used.
3152         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
3153
3154 2007-03-27  Bruno Haible  <bruno@clisp.org>
3155
3156         * lib/stat-time.h: Include <sys/stat.h>.
3157
3158 2007-03-27  James Youngman  <jay@gnu.org>
3159
3160         * lib/stat-time.h (get_stat_birthtime): New function for
3161           retrieving st_birthtime as provided by UFS2 (hence *BSD).
3162         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
3163           and its variants.
3164         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
3165         * modules/stat-time-test: New file.
3166         * tests/test-stat-time.c: New test, devised by Bruno Haible.
3167
3168 2007-03-26  Bruno Haible  <bruno@clisp.org>
3169
3170         Better support of signalling NaNs.
3171         * lib/atanl.c: Include isnanl.h.
3172         (atanl): Perform test for NaN at the beginning of the function and
3173         through a call to isnanl.
3174         * lib/cosl.c: Include isnanl.h.
3175         (cosl): Perform test for NaN at the beginning of the function and
3176         through a call to isnanl.
3177         * lib/ldexpl.c: Include isnanl.h.
3178         (ldexpl): Perform test for NaN through a call to isnanl.
3179         * lib/logl.c: Include isnanl.h.
3180         (logl): Perform test for NaN at the beginning of the function and
3181         through a call to isnanl.
3182         * lib/sinl.c: Include isnanl.h.
3183         (sinl): Perform test for NaN at the beginning of the function and
3184         through a call to isnanl.
3185         * lib/sqrtl.c: Include isnanl.h.
3186         (sqrtl): Perform test for NaN at the beginning of the function and
3187         through a call to isnanl.
3188         * lib/tanl.c: Include isnanl.h.
3189         (tanl): Perform test for NaN at the beginning of the function and
3190         through a call to isnanl.
3191         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
3192         * modules/mathl (Depends-on): Add isnanl.
3193
3194 2007-03-26  Eric Blake  <ebb9@byu.net>
3195
3196         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
3197         regression in logic sense of previous patch.
3198
3199 2007-03-26  Bruno Haible  <bruno@clisp.org>
3200
3201         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
3202         unportable shell command "if ! ...".
3203         Reported by Ralf Wildenhues.
3204
3205 2007-03-25  Bruno Haible  <bruno@clisp.org>
3206
3207         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
3208         <sysexits.h> file, and only add EX_CONFIG.
3209         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
3210         absolute file name and whether it is sufficient. Substitute also
3211         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
3212         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
3213         ABSOLUTE_SYSEXITS_H into sysexits.h.
3214
3215 2007-03-25  Bruno Haible  <bruno@clisp.org>
3216
3217         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
3218         hints is NULL.
3219
3220 2007-03-25  Bruno Haible  <bruno@clisp.org>
3221
3222         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
3223         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
3224
3225 2007-03-25  Bruno Haible  <bruno@clisp.org>
3226
3227         * lib/vasnprintf.c: Include langinfo.h.
3228         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
3229         multithread-safe.
3230         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
3231         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
3232         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
3233         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
3234         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
3235         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
3236         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
3237         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
3238         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
3239         Reported by Simon Josefsson.
3240
3241 2007-03-25  Bruno Haible  <bruno@clisp.org>
3242
3243         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
3244         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
3245         * modules/vasnprintf (Depends-on): Add stdint.
3246
3247 2007-03-25  Bruno Haible  <bruno@clisp.org>
3248
3249         * modules/fpieee: New file.
3250         * m4/fpieee.m4: New file.
3251         * modules/isnan-nolibm (Depends-on): Add fpieee.
3252         * modules/isnanl-nolibm (Depends-on): Add fpieee.
3253         * modules/isnanl (Depends-on): Add fpieee.
3254
3255 2007-03-25  Bruno Haible  <bruno@clisp.org>
3256
3257         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
3258
3259 2007-03-25  Bruno Haible  <bruno@clisp.org>
3260
3261         Avoid test failures on IRIX 6.5.
3262         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
3263         (main): Use it.
3264         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
3265         macros.
3266         (main): Use them.
3267
3268 2007-03-25  Bruno Haible  <bruno@clisp.org>
3269
3270         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
3271         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
3272         exists but doesn't work.
3273         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
3274         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
3275         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
3276         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
3277
3278 2007-03-25  Bruno Haible  <bruno@clisp.org>
3279
3280         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
3281         returns inf. Needed on IRIX 6.5.
3282
3283 2007-03-25  Bruno Haible  <bruno@clisp.org>
3284
3285         * tests/test-frexpl.c: Include isnanl-nolibm.h.
3286         (main): Use isnanl instead of x != x idiom.
3287         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
3288
3289         * tests/test-frexp.c: Include isnan.h.
3290         (main): Use isnan instead of x != x idiom.
3291         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
3292
3293 2007-03-25  Bruno Haible  <bruno@clisp.org>
3294
3295         * tests/test-frexp.c (NaN): New function/macro.
3296         (main): Use it instead of 0.0 / 0.0.
3297         * tests/test-isnan.c (NaN): New function/macro.
3298         (main): Use it instead of 0.0 / 0.0.
3299         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
3300         (test_function): Use it instead of 0.0 / 0.0.
3301         * tests/test-vasprintf-posix.c (NaN): New function/macro.
3302         (test_function): Use it instead of 0.0 / 0.0.
3303         * tests/test-snprintf-posix.h (NaN): New function/macro.
3304         (test_function): Use it instead of 0.0 / 0.0.
3305         * tests/test-sprintf-posix.h (NaN): New function/macro.
3306         (test_function): Use it instead of 0.0 / 0.0.
3307         * tests/test-fprintf-posix.h (NaN): New function/macro.
3308         (test_function): Use it instead of 0.0 / 0.0.
3309         * tests/test-printf-posix.h (NaN): New function/macro.
3310         (test_function): Use it instead of 0.0 / 0.0.
3311
3312         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
3313
3314 2007-03-25  Bruno Haible  <bruno@clisp.org>
3315
3316         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
3317
3318 2007-03-25  Bruno Haible  <bruno@clisp.org>
3319
3320         * lib/regexec.c (merge_state_with_log): Make static.
3321
3322 2007-03-25  Bruno Haible  <bruno@clisp.org>
3323
3324         * lib/trigl.c (kernel_rem_pio2): Make static.
3325
3326 2007-03-25  Bruno Haible  <bruno@clisp.org>
3327
3328         * lib/sincosl.c (sincosl_table): Make static.
3329
3330 2007-03-25  Bruno Haible  <bruno@clisp.org>
3331
3332         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
3333         if the compiler does not support C99.
3334
3335 2007-03-25  Bruno Haible  <bruno@clisp.org>
3336
3337         * modules/time (Makefile.am): Ensure all rule action lines start with a
3338         tab.
3339
3340 2007-03-24  Bruno Haible  <bruno@clisp.org>
3341
3342         * modules/tsearch-tests: New file.
3343         * tests/test-tsearch.sh: New file.
3344         * tests/test-tsearch.c: New file, mostly copied from glibc.
3345
3346         * modules/search-tests: New file.
3347         * tests/test-search.c: New file.
3348
3349         * modules/search: New file.
3350         * lib/search_.h: New file, incorporating lib/tsearch.h.
3351         * m4/search_h.m4: New file.
3352         * lib/tsearch.h: Remove file.
3353         * lib/tsearch.c: Include search.h instead of tsearch.h.
3354         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
3355         HAVE_TSEARCH.
3356         * modules/tsearch (Files): Remove lib/tsearch.h.
3357         (Depends-on): Add search.
3358         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
3359         (Include): Change tsearch.h into search.h.
3360
3361 2007-03-24  Bruno Haible  <bruno@clisp.org>
3362
3363         * modules/fpucw: New file.
3364         * lib/fpucw.h: New file.
3365         * lib/frexp.c: Include fpucw.h.
3366         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
3367         (FUNC): Use them.
3368         * lib/printf-frexp.c: Include fpucw.h.
3369         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
3370         (FUNC): Use them.
3371         * lib/vasnprintf.c: Include fpucw.h.
3372         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
3373         'long double' calculations.
3374         * tests/test-frexpl.c: Include fpucw.h.
3375         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
3376         * tests/test-printf-frexpl.c: Include fpucw.h.
3377         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
3378         * modules/frexpl (Depends-on): Add fpucw.
3379         * modules/printf-frexpl (Depends-on): Likewise.
3380         * modules/fprintf-posix (Depends-on): Likewise.
3381         * modules/snprintf-posix (Depends-on): Likewise.
3382         * modules/sprintf-posix (Depends-on): Likewise.
3383         * modules/vasnprintf-posix (Depends-on): Likewise.
3384         * modules/vasprintf-posix (Depends-on): Likewise.
3385         * modules/vfprintf-posix (Depends-on): Likewise.
3386         * modules/vsnprintf-posix (Depends-on): Likewise.
3387         * modules/vsprintf-posix (Depends-on): Likewise.
3388         * modules/frexpl-tests (Depends-on): Likewise.
3389         * modules/printf-frexpl-tests (Depends-on): Likewise.
3390
3391 2007-03-24  Bruno Haible  <bruno@clisp.org>
3392
3393         * lib/float+.h: New file.
3394         * lib/isnan.c: Include float+.h.
3395         (SIZE): New macro.
3396         (FUNC): Compare only SIZE bytes of the value.
3397         * lib/vasnprintf.c: Include float+.h.
3398         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
3399         SIZEOF_LDBL or SIZEOF_DBL bytes.
3400         * modules/isnan-nolibm (Files): Add lib/float+.h.
3401         * modules/isnanl-nolibm (Files): Add lib/float+.h.
3402         * modules/isnanl (Files): Add lib/float+.h.
3403         * modules/vasnprintf (Files): Add lib/float+.h.
3404
3405 2007-03-24  Bruno Haible  <bruno@clisp.org>
3406
3407         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
3408         include isnanl-nolibm.h.
3409
3410 2007-03-24  Bruno Haible  <bruno@clisp.org>
3411
3412         * tests/test-read-file.c (main): Don't produce spurious output for
3413         expected situations. Make the test fail if it encountered unexpected
3414         results.
3415
3416 2007-03-24  Bruno Haible  <bruno@clisp.org>
3417
3418         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
3419         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
3420
3421 2007-03-24  Bruno Haible  <bruno@clisp.org>
3422
3423         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
3424
3425 2007-03-24  Bruno Haible  <bruno@clisp.org>
3426
3427         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
3428         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
3429
3430         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
3431         * modules/utf8-ucs4: Turn into a symbolic link to module
3432         unistr/u8-mbtouc.
3433
3434         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
3435         utf8-ucs4-unsafe.
3436         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
3437         unistr/u8-mbtouc-unsafe.
3438
3439         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
3440         * modules/utf16-ucs4: Turn into a symbolic link to module
3441         unistr/u16-mbtouc.
3442
3443         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
3444         utf16-ucs4-unsafe.
3445         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
3446         unistr/u16-mbtouc-unsafe.
3447
3448         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
3449         * modules/ucs4-utf8: Turn into a symbolic link to module
3450         unistr/u8-ubtomb.
3451
3452         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
3453         * modules/ucs4-utf16: Turn into a symbolic link to module
3454         unistr/u16-ubtomb.
3455
3456 2007-03-24  Bruno Haible  <bruno@clisp.org>
3457
3458         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
3459         Enable the function only if HAVE_INLINE.
3460         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
3461         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
3462         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
3463         Enable the function only if HAVE_INLINE.
3464         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
3465         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
3466         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
3467         Enable the function only if HAVE_INLINE.
3468         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
3469         Enable the function only if HAVE_INLINE.
3470         * modules/utf8-ucs4: Update.
3471         * modules/utf8-ucs4-unsafe: Update.
3472         * modules/utf16-ucs4: Update.
3473         * modules/utf16-ucs4-unsafe: Update.
3474         * modules/ucs4-utf8: Update.
3475         * modules/ucs4-utf16: Update.
3476
3477 2007-03-24  Bruno Haible  <bruno@clisp.org>
3478
3479         * lib/utf8-ucs4.h: Remove file.
3480         * lib/utf8-ucs4-unsafe.h: Remove file.
3481         * lib/utf16-ucs4.h: Remove file.
3482         * lib/utf16-ucs4-unsafe.h: Remove file.
3483         * lib/ucs4-utf8.h: Remove file.
3484         * lib/ucs4-utf16.h: Remove file.
3485         * lib/unistr.h: Include their previous contents.
3486         * m4/utf-ucs4.m4: Remove file.
3487         * m4/ucs4-utf.m4: Remove file.
3488         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
3489         (Depends-on): Add unistr/base.
3490         (configure.ac): Remove gl_UTF_UCS4.
3491         (Makefile.am): Update.
3492         (Include): Change to unistr.h.
3493         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
3494         (Depends-on): Add unistr/base.
3495         (configure.ac): Remove gl_UTF_UCS4.
3496         (Makefile.am): Update.
3497         (Include): Change to unistr.h.
3498         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
3499         (Depends-on): Add unistr/base.
3500         (configure.ac): Remove gl_UTF_UCS4.
3501         (Makefile.am): Update.
3502         (Include): Change to unistr.h.
3503         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
3504         (Depends-on): Add unistr/base.
3505         (configure.ac): Remove gl_UTF_UCS4.
3506         (Makefile.am): Update.
3507         (Include): Change to unistr.h.
3508         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
3509         (Depends-on): Add unistr/base.
3510         (configure.ac): Remove gl_UCS4_UTF.
3511         (Makefile.am): Update.
3512         (Include): Change to unistr.h.
3513         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
3514         (Depends-on): Add unistr/base.
3515         (configure.ac): Remove gl_UCS4_UTF.
3516         (Makefile.am): Update.
3517         (Include): Change to unistr.h.
3518         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
3519         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
3520         utf8-ucs4-unsafe.h.
3521         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
3522         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
3523         utf16-ucs4-unsafe.h.
3524         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
3525         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
3526         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
3527         * lib/unistr/u8-strchr.c: Likewise.
3528         * lib/unistr/u8-strrchr.c: Likewise.
3529         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
3530         * lib/unistr/u16-strchr.c: Likewise.
3531         * lib/unistr/u16-strrchr.c: Likewise.
3532         * lib/striconveh.c: Update.
3533         * lib/linebreak.c: Update.
3534
3535 2007-03-24  Bruno Haible  <bruno@clisp.org>
3536
3537         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
3538         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
3539
3540 2007-03-22  Bruno Haible  <bruno@clisp.org>
3541
3542         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
3543
3544 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
3545
3546         * MODULES.html.sh (File system functions): New module write-any-file.
3547         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
3548         * m4/write-any-file.m4: New files.
3549
3550 2007-03-23  Eric Blake  <ebb9@byu.net>
3551
3552         * gnulib-tool: Rearrange space-tab sequences, since some editors
3553         like to eat them.
3554
3555 2007-03-23  Eric Blake  <ebb9@byu.net>
3556
3557         * lib/version-etc.c (version_etc_va): Update license wording to
3558         be more concise.  Recommended by Richard Stallman.
3559
3560 2007-03-22  Bruno Haible  <bruno@clisp.org>
3561
3562         * lib/poll.c (MSG_PEEK): New fallback definition.
3563
3564 2007-03-22  Bruno Haible  <bruno@clisp.org>
3565
3566         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
3567         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
3568         (main): Update.
3569         Fixes a compilation error on BeOS.
3570
3571 2007-03-22  Bruno Haible  <bruno@clisp.org>
3572
3573         * modules/frexpl-tests: New file.
3574         * tests/test-frexpl.c: New file.
3575
3576         * modules/frexpl: New file.
3577         * m4/frexpl.m4: New file.
3578         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
3579         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
3580         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
3581         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
3582         (Depends-on): Add frexpl. Remove isnanl-nolibm.
3583         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
3584
3585 2007-03-22  Bruno Haible  <bruno@clisp.org>
3586
3587         * lib/frexpl.c: Share code with lib/frexp.c.
3588         * modules/mathl (Files): Add lib/frexp.c.
3589         (Depends-on): Add isnanl-nolibm.
3590
3591 2007-03-22  Bruno Haible  <bruno@clisp.org>
3592
3593         * modules/printf-frexp (Files): Add m4/frexp.m4.
3594         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
3595         only if the found frexp function actually works.
3596
3597 2007-03-22  Bruno Haible  <bruno@clisp.org>
3598
3599         * lib/frexp.c: Remove older implementation that uses divisions.
3600
3601 2007-03-21  Bruno Haible  <bruno@clisp.org>
3602
3603         * modules/frexp-tests: New file.
3604         * tests/test-frexp.c: New file.
3605
3606         * modules/frexp: New file.
3607         * lib/frexp.c: New file.
3608         * m4/frexp.m4: New file.
3609         * lib/math_.h (frexp): New declaration.
3610         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
3611         REPLACE_FREXP.
3612         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
3613
3614 2007-03-21  Bruno Haible  <bruno@clisp.org>
3615
3616         * modules/isnanl-tests: New file.
3617         * tests/test-isnanl.c: New file.
3618
3619         * modules/isnanl: New file.
3620         * lib/isnanl.h: New file.
3621         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
3622         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
3623         gl_FUNC_ISNANL_WORKS.
3624         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
3625         New macros.
3626
3627 2007-03-21  Bruno Haible  <bruno@clisp.org>
3628
3629         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
3630         lib/isnanl.h.
3631         (Include): Update.
3632         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
3633         * lib/vasnprintf.c: Update.
3634         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
3635         tests/test-isnanl.h, remove tests/test-isnanl.c.
3636         (Makefile.am): Update.
3637         * tests/test-isnanl-nolibm.c: New file.
3638         * tests/test-isnanl.h: New file.
3639         * tests/test-isnanl.c: Remove file.
3640
3641 2007-03-21  Jim Meyering  <jim@meyering.net>
3642
3643         When trying to open ".", treat ESTALE like EACCES.
3644         * lib/savewd.c (savewd_save): Resort to forking not just upon
3645         failure with EACCES, but also when errno is ESTALE.
3646
3647 2007-03-20  Bruno Haible  <bruno@clisp.org>
3648
3649         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
3650         Needed on AIX 5.1. Reported by Matthew Woehlke.
3651
3652 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
3653
3654         Suggestions by Bruno Haible:
3655         * lib/acl-internal.h: Include "gettext.h" rather than rolling
3656         our own.
3657         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
3658         * modules/acl (Depends-on): Add gettext.
3659
3660 2007-03-19  Bruno Haible  <bruno@clisp.org>
3661
3662         * modules/iconvme: Remove file.
3663         * lib/iconvme.h: Remove file.
3664         * lib/iconvme.c: Remove file.
3665         * m4/iconvme.m4: Remove file.
3666
3667 2007-03-19  Bruno Haible  <bruno@clisp.org>
3668
3669         * doc/relocatable-maint.texi: Break long shell script line.
3670         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
3671
3672 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
3673
3674         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
3675         handle file_has_acl.
3676         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
3677         * lib/acl.c: Move header inclusions and related macro defns into
3678         lib/acl-internal.h.
3679         (S_ISLNK): Remove defn, since that's now done for us.
3680         (file_has_acl): Move to lib/file-has-acl.c.
3681         Call acl_trivial if available.  This is the crucial part of the fix.
3682         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
3683         shared within the library.  Rewrite a bit, partly to make it compatible
3684         with the GNU coding style.
3685         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
3686         Remove unnecessary double-quotes.
3687         Don't test for acl_to_text; the build will catch that.
3688         Replace acl_entries if it doesn't exist and it is needed.
3689         Check for -lsec and acl_trivial (as used on Solaris 10).
3690         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
3691         lib/file-has-acl.c.
3692         (Depends-on): Add sys_stat, for S_ISLNK.
3693
3694 2007-03-19  Ben Pfaff  <blp@gnu.org>
3695
3696         * doc/gnulib.texi: Fix typos.
3697         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
3698
3699 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
3700
3701         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
3702         If size is zero here, buf must be zero.
3703
3704 2007-03-19  Simon Josefsson  <simon@josefsson.org>
3705
3706         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
3707         <bruno@clisp.org>.
3708
3709 2007-03-18  Bruno Haible  <bruno@clisp.org>
3710
3711         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
3712         Suggested by Eric Blake.
3713
3714 2007-03-18  Ben Pfaff  <blp@gnu.org>
3715
3716         * doc/relocatable.texi: Recommend using as prefix a directory
3717         that does not exist and will never be created.  Based on
3718         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
3719         and others.
3720
3721 2007-03-17  Bruno Haible  <bruno@clisp.org>
3722
3723         * lib/fchownat.c: Include lchown.h.
3724
3725 2007-03-17  Bruno Haible  <bruno@clisp.org>
3726
3727         Fix endless loop when the given allocated size was > INT_MAX.
3728         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
3729         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
3730         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
3731         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
3732         * lib/sprintf.c (sprintf): Likewise.
3733
3734 2007-03-17  Bruno Haible  <bruno@clisp.org>
3735
3736         * tests/test-argp-2.sh (func_compare): Output a context diff.
3737
3738 2007-03-17  Bruno Haible  <bruno@clisp.org>
3739
3740         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
3741         locale's decimal-point character.
3742
3743 2007-03-17  Bruno Haible  <bruno@clisp.org>
3744
3745         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
3746         before comparing it. Needed because on some platforms (e.g. x86) a
3747         'long double' occupies less bytes than sizeof (long double).
3748
3749 2007-03-17  Bruno Haible  <bruno@clisp.org>
3750
3751         * tests/test-crc.c (main): Make printf statements 64-bit clean.
3752         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
3753         * tests/test-getaddrinfo.c (simple): Likewise.
3754         * tests/test-read-file.c (main): Likewise.
3755
3756 2007-03-17  Bruno Haible  <bruno@clisp.org>
3757
3758         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
3759
3760 2007-03-17  Bruno Haible  <bruno@clisp.org>
3761
3762         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
3763         unused variable.
3764
3765 2007-03-17  Bruno Haible  <bruno@clisp.org>
3766
3767         * tests/test-c-strcasecmp.c: Include c-strcase.h.
3768         * tests/test-c-strncasecmp.c: Likewise.
3769
3770 2007-03-17  Bruno Haible  <bruno@clisp.org>
3771
3772         * modules/stdlib (Depends-on): Add unistd.
3773         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
3774         Needed for MacOS X 10.3.
3775
3776 2007-03-17  Bruno Haible  <bruno@clisp.org>
3777
3778         * lib/unistr/u-strdup.h: Include <stdlib.h>.
3779
3780 2007-03-17  Bruno Haible  <bruno@clisp.org>
3781
3782         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
3783
3784 2007-03-17  Bruno Haible  <bruno@clisp.org>
3785
3786         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
3787         to reflect files copied from gnulib (with or without modifications).
3788         Suggested by Jim Meyering.
3789
3790 2007-03-17  Eric Blake  <ebb9@byu.net>
3791
3792         * NEWS: Document stdlib change from 2007-02-18.
3793
3794 2007-03-17  Jim Meyering  <jim@meyering.net>
3795
3796         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
3797         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
3798         someone uses a name containing shell meta-characters.
3799         Reported by Alfred M. Szmidt.
3800
3801         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
3802
3803 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
3804
3805         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
3806         and copy gettext configuration files only if configure.ac contains
3807         a use of AM_GNU_GETTEXT_VERSION.
3808
3809 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
3810
3811         * build-aux/bootstrap (gnulib_name): New variable.
3812         (gnulib_tool_options): Use it.
3813
3814 2007-03-13  Simon Josefsson  <simon@josefsson.org>
3815
3816         * tests/test-des.c: Use new namespace.
3817
3818 2007-03-15  Bruno Haible  <bruno@clisp.org>
3819
3820         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
3821         Reported by James Youngman <jay@gnu.org>.
3822
3823 2007-03-15  Bruno Haible  <bruno@clisp.org>
3824
3825         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
3826         declared prototype. Needed with cc on OSF/1 5.1.
3827
3828 2007-03-15  Bruno Haible  <bruno@clisp.org>
3829
3830         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
3831         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
3832         (struct gl_list_implementation): Add dispose_fn argument to the
3833         'create_empty', 'create' methods.
3834         (struct gl_list_impl_base): Add field 'dispose_fn'.
3835         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
3836         argument.
3837         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
3838         dispose_fn argument.
3839         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
3840         dispose_fn on the dropped values.
3841         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
3842         dispose_fn argument.
3843         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
3844         dropped values.
3845         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
3846         (gl_tree_remove_node): Call dispose_fn on the dropped value.
3847         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
3848         (gl_tree_remove_node): Call dispose_fn on the dropped value.
3849         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
3850         argument.
3851         (gl_tree_list_free): Call dispose_fn on the dropped values.
3852         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
3853         the dropped values.
3854         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
3855         Add dispose_fn argument.
3856         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
3857         Call dispose_fn on the dropped values.
3858         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
3859         Add dispose_fn argument.
3860         (gl_sublist_create): Initialize the 'dispose_fn' field.
3861         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
3862         * tests/test-array_list.c (main): Update.
3863         * tests/test-carray_list.c (main): Update.
3864         * tests/test-avltree_list.c (main): Update.
3865         * tests/test-rbtree_list.c (main): Update.
3866         * tests/test-avltreehash_list.c (main): Update.
3867         * tests/test-rbtreehash_list.c (main): Update.
3868         * tests/test-linked_list.c (main): Update.
3869         * tests/test-linkedhash_list.c (main): Update.
3870         * tests/test-array_oset.c (main): Update.
3871
3872 2007-03-15  Bruno Haible  <bruno@clisp.org>
3873
3874         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
3875         (gl_oset_create_empty): Add dispose_fn argument.
3876         (struct gl_oset_implementation): Add dispose_fn argument to
3877         'create_empty' method.
3878         (struct gl_oset_impl_base): Add dispose_fn field.
3879         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
3880         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
3881         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
3882         values.
3883         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
3884         (gl_tree_oset_free): Call dispose_fn on the dropped values.
3885         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
3886         dropped value.
3887         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
3888         dropped value.
3889         * tests/test-array_oset.c (main): Update.
3890         * tests/test-avltree_oset.c (main): Update.
3891         * tests/test-rbtree_oset.c (main): Update.
3892         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
3893
3894 2007-03-13  Bruno Haible  <bruno@clisp.org>
3895
3896         * tests/test-stdbool.c (i): Update after last patch.
3897
3898 2007-03-12  Bruno Haible  <bruno@clisp.org>
3899
3900         * lib/quotearg.c: Include <wctype.h> early, before the definition of
3901         the iswprint macro. Needed on Solaris 2.5.1.
3902
3903 2007-03-12  Bruno Haible  <bruno@clisp.org>
3904
3905         * tests/test-printf-frexp.c (main): Declare x as volatile.
3906
3907 2007-03-12  Simon Josefsson  <simon@josefsson.org>
3908
3909         * doc/gnulib.texi (Build robot for gnulib): New section.
3910
3911 2007-03-12  Jim Meyering  <jim@meyering.net>
3912
3913         * build-aux/bootstrap: New file.
3914         * build-aux/bootstrap.conf: New file, from coreutils.
3915
3916 2007-03-11  Bruno Haible  <bruno@clisp.org>
3917
3918         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
3919
3920 2007-03-12  Simon Josefsson  <simon@josefsson.org>
3921
3922         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
3923         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
3924         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
3925
3926 2007-03-11  Bruno Haible  <bruno@clisp.org>
3927
3928         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
3929         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
3930
3931 2007-03-11  Bruno Haible  <bruno@clisp.org>
3932
3933         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
3934         formula. Needed for SunPRO C 5.0.
3935
3936 2007-03-11  Bruno Haible  <bruno@clisp.org>
3937
3938         * modules/long-options (Depends-on): Add getopt.
3939
3940 2007-03-11  Bruno Haible  <bruno@clisp.org>
3941
3942         * modules/modechange (Depends-on): Add stdbool.
3943
3944 2007-03-11  Bruno Haible  <bruno@clisp.org>
3945
3946         * modules/i-ring (Depends-on): Add stdbool.
3947
3948 2007-03-11  Bruno Haible  <bruno@clisp.org>
3949
3950         * modules/gc-des (Depends-on): Add stdbool.
3951
3952 2007-03-11  Bruno Haible  <bruno@clisp.org>
3953
3954         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
3955
3956 2007-03-11  Bruno Haible  <bruno@clisp.org>
3957
3958         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
3959
3960 2007-03-11  Bruno Haible  <bruno@clisp.org>
3961
3962         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
3963
3964 2007-03-11  Bruno Haible  <bruno@clisp.org>
3965
3966         * lib/vasnprintf.c (sprintf): Undefine.
3967
3968 2007-03-11  Bruno Haible  <bruno@clisp.org>
3969
3970         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
3971         initializers in SunPRO C and Compaq C compilers.
3972
3973 2007-03-11  Bruno Haible  <bruno@clisp.org>
3974
3975         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
3976         decrementing code ANSI C compliant.
3977
3978 2007-03-11  Bruno Haible  <bruno@clisp.org>
3979
3980         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
3981         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
3982
3983 2007-03-11  Bruno Haible  <bruno@clisp.org>
3984
3985         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
3986         <stdbool.h> substitute doesn't pass.
3987
3988 2007-03-11  Bruno Haible  <bruno@clisp.org>
3989
3990         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
3991
3992 2007-03-11  Bruno Haible  <bruno@clisp.org>
3993
3994         * gnulib-tool (func_create_megatestdir): Create also an autobuild
3995         script, for submission to autobuild.josefsson.org.
3996
3997 2007-03-10  Bruno Haible  <bruno@clisp.org>
3998
3999         * modules/canonicalize-lgpl-tests: New file.
4000         * tests/test-canonicalize-lgpl.sh: New file.
4001         * tests/test-canonicalize-lgpl.c: New file.
4002
4003         * modules/c-strcase-tests: New file.
4004         * tests/test-c-strcase.sh: New file.
4005         * tests/test-c-strcasecmp.c: New file.
4006         * tests/test-c-strncasecmp.c: New file.
4007
4008         * modules/atexit-tests: New file.
4009         * tests/test-atexit.sh: New file.
4010         * tests/test-atexit.c: New file.
4011
4012 2007-03-10  Bruno Haible  <bruno@clisp.org>
4013
4014         * tests/test-binary-io.sh: Use temporary filenames that are not so
4015         likely to clash with those of other tests (in a parallel make).
4016         * tests/test-binary-io.c: Likewise.
4017
4018 2007-03-10  Bruno Haible  <bruno@clisp.org>
4019
4020         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
4021         fallback; use #error instead.
4022         Suggested by Simon Josefsson.
4023
4024 2007-03-10  Bruno Haible  <bruno@clisp.org>
4025
4026         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
4027         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
4028         first and the last.
4029
4030 2007-03-10  Bruno Haible  <bruno@clisp.org>
4031
4032         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
4033
4034 2007-03-10  Bruno Haible  <bruno@clisp.org>
4035
4036         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
4037         "make distcheck".
4038         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
4039         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
4040         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
4041
4042 2007-03-10  Bruno Haible  <bruno@clisp.org>
4043
4044         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
4045         variable.
4046         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
4047         variable.
4048
4049 2007-03-09  Eric Blake  <ebb9@byu.net>
4050         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
4051
4052         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
4053         types are not being provided by gnulib.
4054         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
4055         types are supported.
4056
4057 2007-03-10  Bruno Haible  <bruno@clisp.org>
4058
4059         * lib/stdio_.h (__attribute__): New macro.
4060         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
4061         vsprintf): Specify __attribute__ __format__ for GCC.
4062         Suggested by Eric Blake.
4063
4064 2007-03-09  Bruno Haible  <bruno@clisp.org>
4065
4066         * modules/printf-posix-tests: New file.
4067         * tests/test-printf-posix.sh: New file.
4068         * tests/test-printf-posix.c: New file.
4069
4070         * modules/printf-posix: New file.
4071         * lib/printf.c: New file.
4072         * m4/printf-posix-rpl.m4: New file.
4073         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
4074         REPLACE_PRINTF.
4075         * lib/stdio_.h (printf): New declaration.
4076         (format, __format__, ____printf____, ____scanf____, ____strftime____,
4077         ____strfmon____): New macros.
4078         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
4079         REPLACE_PRINTF.
4080
4081 2007-03-09  Bruno Haible  <bruno@clisp.org>
4082
4083         * tests/test-vasnprintf-posix2.sh: New file.
4084         * tests/test-vasnprintf-posix2.c: New file.
4085         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
4086         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
4087         (Makefile.am): Activate test-vasnprintf-posix2.sh.
4088
4089         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
4090         a locale dependent decimal point, rather than always '.'.
4091
4092 2007-03-09  Eric Blake  <ebb9@byu.net>
4093
4094         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
4095         spite of platforms like Tandem/NSK that define it to -1.
4096
4097 2007-03-08  Bruno Haible  <bruno@clisp.org>
4098
4099         * modules/vprintf-posix-tests: New file.
4100         * tests/test-vprintf-posix.sh: New file.
4101         * tests/test-vprintf-posix.c: New file.
4102         * tests/test-printf-posix.h: New file.
4103
4104         * modules/vprintf-posix: New file.
4105         * lib/vprintf.c: New file.
4106         * m4/vprintf-posix.m4: New file.
4107         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
4108         REPLACE_VPRINTF.
4109         * lib/stdio_.h (vprintf): New declaration.
4110         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
4111         REPLACE_VPRINTF.
4112
4113 2007-03-08  Bruno Haible  <bruno@clisp.org>
4114
4115         * modules/fprintf-posix-tests: New file.
4116         * tests/test-fprintf-posix.sh: New file.
4117         * tests/test-fprintf-posix.c: New file.
4118
4119         * modules/fprintf-posix: New file.
4120         * lib/fprintf.c: New file.
4121         * m4/fprintf-posix.m4: New file.
4122         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
4123         REPLACE_FPRINTF.
4124         * lib/stdio_.h (fprintf): New declaration.
4125         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
4126         REPLACE_FPRINTF.
4127
4128 2007-03-08  Bruno Haible  <bruno@clisp.org>
4129
4130         * modules/vfprintf-posix-tests: New file.
4131         * tests/test-vfprintf-posix.sh: New file.
4132         * tests/test-vfprintf-posix.c: New file.
4133         * tests/test-fprintf-posix.h: New file.
4134         * tests/test-fprintf-posix.out: New file.
4135
4136         * modules/vfprintf-posix: New file.
4137         * lib/vfprintf.c: New file.
4138         * m4/vfprintf-posix.m4: New file.
4139         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
4140         REPLACE_VFPRINTF.
4141         * lib/stdio_.h (vfprintf): New declaration.
4142         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
4143         REPLACE_VFPRINTF.
4144
4145 2007-03-08  Bruno Haible  <bruno@clisp.org>
4146
4147         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
4148
4149 2007-03-08  Bruno Haible  <bruno@clisp.org>
4150
4151         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
4152         instead of 'expr' invocations.
4153         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
4154         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
4155         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
4156         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
4157         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
4158         Suggested by Paul Eggert.
4159
4160 2007-03-08  Bruno Haible  <bruno@clisp.org>
4161
4162         * modules/fseterr-tests: New file.
4163         * tests/test-fseterr.c: New file.
4164
4165         * modules/fseterr: New file.
4166         * lib/fseterr.h: New file.
4167         * lib/fseterr.c: New file.
4168
4169 2007-03-08  Bruno Haible  <bruno@clisp.org>
4170
4171         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
4172         * lib/getopt_.h: Likewise.
4173         * lib/mbswidth.h: Likewise.
4174         * lib/setenv.h: Likewise.
4175         * lib/vasnprintf.h: Likewise.
4176         * lib/vasprintf.h: Likewise.
4177         * lib/verror.h: Likewise.
4178         * lib/xsetenv.h: Likewise.
4179         * lib/xvasprintf.h: Likewise.
4180
4181 2007-03-08  Jim Meyering  <jim@meyering.net>
4182
4183         * users.txt: Add parted.
4184
4185         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
4186
4187 2007-03-07  Bruno Haible  <bruno@clisp.org>
4188
4189         * m4/printf.m4: Make the shell script snippets copy&pastable.
4190
4191 2007-03-02  Bruno Haible  <bruno@clisp.org>
4192
4193         * lib/netinet_in_.h: New file.
4194         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
4195         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
4196         * modules/netinet_in (Files): Add lib/netinet_in_.h.
4197         (Depends-on): Add absolute-header.
4198         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
4199         into netinet/in.h.
4200
4201 2007-03-03  Bruno Haible  <bruno@clisp.org>
4202
4203         * lib/sys_select_.h: New file.
4204         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
4205         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
4206         * modules/sys_select (Files): Add lib/sys_select_.h.
4207         (Depends-on): Add absolute-header.
4208         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
4209         into sys/select.h.
4210
4211 2007-03-02  Bruno Haible  <bruno@clisp.org>
4212
4213         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
4214         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
4215         values.
4216         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
4217         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
4218         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
4219         * modules/sys_socket (Depends-on): Add absolute-header.
4220         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
4221         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
4222         (Include): Remove requirement of inclusion of <sys/types.h>.
4223
4224 2007-03-02  Bruno Haible  <bruno@clisp.org>
4225
4226         * lib/byteswap_.h (bswap_32): Fix formula.
4227
4228 2007-03-06  Bruno Haible  <bruno@clisp.org>
4229
4230         * modules/sprintf-posix-tests: New file.
4231         * tests/test-sprintf-posix.c: New file.
4232
4233         * modules/sprintf-posix: New file.
4234         * lib/sprintf.c: New file.
4235         * m4/sprintf-posix.m4: New file.
4236         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
4237         REPLACE_SPRINTF.
4238         * lib/stdio_.h (sprintf): New declaration.
4239         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
4240         REPLACE_SPRINTF.
4241
4242 2007-03-06  Bruno Haible  <bruno@clisp.org>
4243
4244         * modules/vsprintf-posix-tests: New file.
4245         * tests/test-vsprintf-posix.c: New file.
4246         * tests/test-sprintf-posix.h: New file.
4247
4248         * modules/vsprintf-posix: New file.
4249         * lib/vsprintf.c: New file.
4250         * m4/vsprintf-posix.m4: New file.
4251         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
4252         REPLACE_VSPRINTF.
4253         * lib/stdio_.h (vsprintf): New declaration.
4254         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
4255         REPLACE_VSPRINTF.
4256
4257 2007-03-06  Bruno Haible  <bruno@clisp.org>
4258
4259         * modules/vsnprintf (Depend-on): Remove minmax.
4260
4261 2007-03-06  Bruno Haible  <bruno@clisp.org>
4262
4263         * modules/snprintf-posix-tests: New file.
4264         * tests/test-snprintf-posix.c: New file.
4265
4266         * modules/snprintf-posix: New file.
4267         * m4/snprintf-posix.m4: New file.
4268         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
4269         gl_FUNC_SNPRINTF.
4270         (gl_FUNC_SNPRINTF): Invoke it.
4271         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
4272         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
4273         is set.
4274         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
4275
4276 2007-03-06  Bruno Haible  <bruno@clisp.org>
4277
4278         * modules/vsnprintf-posix-tests: New file.
4279         * tests/test-vsnprintf-posix.c: New file.
4280         * tests/test-snprintf-posix.h: New file.
4281
4282         * modules/vsnprintf-posix: New file.
4283         * m4/vsnprintf-posix.m4: New file.
4284         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
4285         gl_FUNC_VSNPRINTF.
4286         (gl_FUNC_VSNPRINTF): Invoke it.
4287         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
4288         * lib/stdio_.h (vsnprintf): Define as a replacement if
4289         REPLACE_VSNPRINTF is set.
4290         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
4291
4292 2007-03-06  Bruno Haible  <bruno@clisp.org>
4293
4294         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
4295         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
4296
4297 2007-03-06  Bruno Haible  <bruno@clisp.org>
4298
4299         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
4300         (asinl): Declare also if HAVE_DECL_ASINL is set.
4301         (atanl): Declare also if HAVE_DECL_ATANL is set.
4302         (ceill): Declare also if HAVE_DECL_CEILL is set.
4303         (cosl): Declare also if HAVE_DECL_COSL is set.
4304         (expl): Declare also if HAVE_DECL_EXPL is set.
4305         (floorl): Declare also if HAVE_DECL_FLOORL is set.
4306         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
4307         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
4308         (logl): Declare also if HAVE_DECL_LOGL is set.
4309         (sinl): Declare also if HAVE_DECL_SINL is set.
4310         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
4311         (tanl): Declare also if HAVE_DECL_TANL is set.
4312         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
4313         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
4314         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
4315         declaration of frexpl, ldexpl.
4316         * modules/printf-frexpl (Depends-on): Add math.
4317         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
4318
4319 2007-03-05  Bruno Haible  <bruno@clisp.org>
4320
4321         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
4322         frexpl and ldexpl are declared.
4323         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
4324
4325 2007-03-05  Bruno Haible  <bruno@clisp.org>
4326
4327         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
4328         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
4329
4330 2007-03-05  Bruno Haible  <bruno@clisp.org>
4331
4332         * lib/stdio_.h: Include <stddef.h>.
4333
4334 2007-03-05  Bruno Haible  <bruno@clisp.org>
4335
4336         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
4337
4338 2007-03-05  Bruno Haible  <bruno@clisp.org>
4339
4340         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
4341         NetBSD 4, from Ralf Wildenhues.
4342
4343 2007-03-04  Bruno Haible  <bruno@clisp.org>
4344
4345         * lib/vasprintf.h: Update #if logic for the case when the functions
4346         exist but are overridden.
4347
4348 2007-03-04  Bruno Haible  <bruno@clisp.org>
4349
4350         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
4351         implementations: glibc-2.4 and MacOS X 10.3.
4352         * tests/test-vasnprintf-posix.c (test_function): Test also the case
4353         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
4354         * tests/test-vasprintf-posix.c (test_function): Likewise.
4355
4356 2007-03-04  Bruno Haible  <bruno@clisp.org>
4357
4358         * modules/vasprintf-posix-tests: New file.
4359         * tests/test-vasprintf-posix.c: New file.
4360
4361         * modules/vasprintf-posix: New file.
4362         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
4363         defined.
4364         * m4/vasprintf-posix.m4: New file.
4365         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
4366         gl_FUNC_VASPRINTF.
4367         (gl_FUNC_VASPRINTF): Invoke it.
4368         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
4369         here.
4370         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
4371
4372 2007-03-04  Bruno Haible  <bruno@clisp.org>
4373
4374         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
4375         REPLACE_GETTIMEOFDAY.
4376         * modules/sys_time (Makefile.am): Likewise.
4377         * m4/sys_time_h.m4: Likewise.
4378         * m4/gettimeofday.m4: Likewise.
4379
4380 2007-03-04  Bruno Haible  <bruno@clisp.org>
4381
4382         * modules/vasnprintf-posix-tests: New file.
4383         * tests/test-vasnprintf-posix.c: New file.
4384
4385         * modules/vasnprintf-posix: New file.
4386         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
4387         printf-frexpl.h.
4388         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
4389         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
4390         REPLACE_VASNPRINTF is defined.
4391         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
4392         gl_FUNC_VASNPRINTF.
4393         (gl_FUNC_VASNPRINTF): Invoke it.
4394         * m4/vasnprintf-posix.m4: New file.
4395         * m4/printf.m4: New file.
4396
4397 2007-03-04  Bruno Haible  <bruno@clisp.org>
4398
4399         Compile progreloc.c only if --enable-relocatable is specified.
4400         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
4401         if --enable-relocatable was specified.
4402         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
4403         lib_SOURCES.
4404
4405 2007-03-04  Jim Meyering  <jim@meyering.net>
4406
4407         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
4408         Use it consistently, rather than enumerating errno constants.
4409
4410 2007-03-04  Bruno Haible  <bruno@clisp.org>
4411
4412         * modules/xvasprintf-tests: New file.
4413         * tests/test-xvasprintf.c: New file.
4414
4415         * modules/vasprintf-tests: New file.
4416         * tests/test-vasprintf.c: New file.
4417
4418         * modules/vasnprintf-tests: New file.
4419         * tests/test-vasnprintf.c: New file.
4420
4421         * modules/vsnprintf-tests: New file.
4422         * tests/test-vsnprintf.c: New file.
4423
4424         * modules/snprintf-tests: New file.
4425         * tests/test-snprintf.c: New file.
4426
4427 2007-03-04  Bruno Haible  <bruno@clisp.org>
4428
4429         Compile relocatable.c only if --enable-relocatable is specified.
4430         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
4431         gl_RELOCATABLE_LIBRARY.
4432         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
4433         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
4434         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
4435         gl_RELOCATABLE_LIBRARY.
4436         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
4437         (Makefile.am): Remove lib_SOURCES.
4438         * modules/relocatable-lib-lgpl (configure.ac): Invoke
4439         gl_RELOCATABLE_LIBRARY.
4440         (Makefile.am): Remove lib_SOURCES.
4441         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
4442         always.
4443         * modules/relocatable-prog-wrapper (configure.ac): Invoke
4444         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
4445
4446 2007-03-04  Bruno Haible  <bruno@clisp.org>
4447
4448         * modules/argmatch-tests: New file.
4449         * tests/test-argmatch.c: New file.
4450
4451         * tests/test-allocsa.c (main): Halve the number of loop runs.
4452
4453         * modules/alloca-opt-tests: New file.
4454         * tests/test-alloca-opt.c: New file.
4455
4456 2007-03-04  Jim Meyering  <jim@meyering.net>
4457
4458         Work around difference between Linux ACLs and Solaris 10 ZFS.
4459         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
4460         for EINVAL.
4461
4462 2007-03-03  Bruno Haible  <bruno@clisp.org>
4463
4464         * modules/relocatable-prog (Depends-on): Add back progreloc's
4465         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
4466
4467 2007-03-03  Bruno Haible  <bruno@clisp.org>
4468
4469         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
4470         * modules/relocatable-lib: New file.
4471
4472 2007-03-03  Bruno Haible  <bruno@clisp.org>
4473
4474         * modules/relocatable-prog: Renamed from modules/relocatable.
4475         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
4476
4477 2007-03-03  Bruno Haible  <bruno@clisp.org>
4478
4479         * modules/relocatable-script (Files): Add doc/relocatable.texi,
4480         m4/relocatable-lib.m4.
4481         (Depends-on): Remove 'relocatable'.
4482         (configure.ac): Add gl_RELOCATABLE_NOP.
4483
4484 2007-03-03  Bruno Haible  <bruno@clisp.org>
4485
4486         * modules/relocatable-prog-wrapper: New file.
4487         * modules/relocatable (Depends-on): Add it. Remove all other
4488         dependencies except progname.
4489         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
4490
4491         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
4492         (gl_FUNC_STRERROR): Nop.
4493         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
4494
4495         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
4496         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
4497
4498         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
4499         (gl_FUNC_READLINK): Update.
4500
4501         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
4502
4503 2007-03-03  Bruno Haible  <bruno@clisp.org>
4504
4505         * lib/xreadlink.c: Include <unistd.h> unconditionally.
4506         * modules/xreadlink (Depends-on): Add unistd.
4507         * modules/xreadlink-with-size (Depends-on): Likewise.
4508
4509 2007-03-03  Bruno Haible  <bruno@clisp.org>
4510
4511         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
4512         extracted from gt_FUNC_SETENV.
4513         (gt_FUNC_SETENV): Remove macro.
4514         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
4515         remove gt_FUNC_SETENV.
4516
4517 2007-03-03  Bruno Haible  <bruno@clisp.org>
4518
4519         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
4520         ENABLE_RELOCATABLE here.
4521         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
4522
4523 2007-03-03  Bruno Haible  <bruno@clisp.org>
4524
4525         * modules/rbtreehash-list-tests (Depends-on): Add progname.
4526         * tests/test-rbtreehash_list.c: Include progname.h.
4527         (main): Call set_program_name.
4528
4529         * modules/rbtree-oset-tests (Depends-on): Add progname.
4530         * tests/test-rbtree_oset.c: Include progname.h.
4531         (main): Call set_program_name.
4532
4533         * modules/rbtree-list-tests (Depends-on): Add progname.
4534         * tests/test-rbtree_list.c: Include progname.h.
4535         (main): Call set_program_name.
4536
4537         * modules/linked-list-tests (Depends-on): Add progname.
4538         * tests/test-linked_list.c: Include progname.h.
4539         (main): Call set_program_name.
4540
4541 2007-03-03  Bruno Haible  <bruno@clisp.org>
4542
4543         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
4544         All uses of __restrict changed to _Restrict_.
4545         * lib/glob_.h (__restrict): Remove macro.
4546
4547 2007-03-02  Bruno Haible  <bruno@clisp.org>
4548
4549         * modules/gettext (configure.ac): Require gettext infrastructure
4550         from version 0.16.1.
4551
4552 2007-03-02  Bruno Haible  <bruno@clisp.org>
4553
4554         * modules/linkedhash-list-tests (Depends-on): Add progname.
4555         * tests/test-linkedhash_list.c: Include progname.h.
4556         (main): Call set_program_name.
4557
4558         * modules/carray-list-tests (Depends-on): Add progname.
4559         * tests/test-carray_list.c: Include progname.h.
4560         (main): Call set_program_name.
4561
4562         * modules/avltreehash-list-tests (Depends-on): Add progname.
4563         * tests/test-avltreehash_list.c: Include progname.h.
4564         (main): Call set_program_name.
4565
4566         * modules/avltree-oset-tests (Depends-on): Add progname.
4567         * tests/test-avltree_oset.c: Include progname.h.
4568         (main): Call set_program_name.
4569
4570         * modules/avltree-list-tests (Depends-on): Add progname.
4571         * tests/test-avltree_list.c: Include progname.h.
4572         (main): Call set_program_name.
4573
4574         * modules/array-oset-tests (Depends-on): Add progname.
4575         * tests/test-array_oset.c: Include progname.h.
4576         (main): Call set_program_name.
4577
4578         * modules/array-list-tests (Depends-on): Add progname.
4579         * tests/test-array_list.c: Include progname.h.
4580         (main): Call set_program_name.
4581
4582         * modules/argp-tests (Depends-on): Add progname.
4583         * tests/test-argp.c: Include argp.h first. Include progname.h.
4584         (main): Call set_program_name.
4585
4586 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
4587
4588         * doc/gnulib-tool.texi (Initial import): Reword description of
4589         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
4590         limited effect even if defined after the first system include.
4591
4592 2007-03-01  Bruno Haible  <bruno@clisp.org>
4593
4594         * build-aux/config.libpath: Update to libtool-1.5.22.
4595         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
4596
4597 2007-03-01  Bruno Haible  <bruno@clisp.org>
4598
4599         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
4600         foo_CFLAGS.
4601         Reported by Ralf Wildenhues.
4602
4603 2007-03-01  Bruno Haible  <bruno@clisp.org>
4604
4605         * build-aux/install-reloc: Remove object files left over by some
4606         compilers.
4607         Reported by Ralf Wildenhues.
4608
4609 2007-03-01  Bruno Haible  <bruno@clisp.org>
4610
4611         * build-aux/install-reloc: Break long lines.
4612
4613 2007-03-01  Bruno Haible  <bruno@clisp.org>
4614
4615         * doc/relocatable.texi: Document that it may not work on OpenBSD.
4616         Reported by Ralf Wildenhues.
4617
4618 2007-03-01  Bruno Haible  <bruno@clisp.org>
4619
4620         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
4621         include ordering constraints.
4622
4623 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
4624
4625         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
4626         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
4627         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
4628         as another example.
4629         * lib/time_.h: Fix misspelling.
4630         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
4631         Require gl_HEADER_TIME_H_DEFAULTS.
4632         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
4633         * m4/time_r.m4 (gl_TIME_R): Likewise.
4634         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
4635
4636 2007-03-01  Bruno Haible  <bruno@clisp.org>
4637
4638         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
4639         * m4/utimens.m4 (gl_UTIMENS): Likewise.
4640
4641 2007-03-01  Jim Meyering  <jim@meyering.net>
4642
4643         * modules/xreadlink (Maintainer): Add my name.
4644         * modules/xreadlink-with-size (Depends-on): Alphabetize.
4645
4646 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
4647             Bruno Haible  <bruno@clisp.org>
4648
4649         * build-aux/install-reloc: Compile also c-ctype.c.
4650         * build-aux/relocatable.sh.in: New file.
4651         * doc/relocatable.texi: New file.
4652         * doc/relocatable-maint.texi: New file.
4653         * doc/gnulib.texi: Include relocatable-maint.texi.
4654         * lib/progreloc.c: Include unistd.h unconditionally.
4655         * lib/relocwrapper.c: Include unistd.h unconditionally.
4656         Include c-ctype.h.
4657         (add_dotbin): Use c_tolower.
4658         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
4659         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
4660         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
4661         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
4662         to m4/relocatable-lib.m4.
4663         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
4664         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
4665         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
4666         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
4667         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
4668         * modules/relocatable: New file.
4669         * modules/relocatable-lib: New file.
4670         * modules/relocatable-script: New file.
4671
4672 2007-02-28  Bruno Haible  <bruno@clisp.org>
4673
4674         Import --enable-relocatable infrastructure.
4675         * build-aux/config.libpath: New file, from GNU gettext.
4676         * build-aux/install-reloc: New file, from GNU gettext.
4677         * build-aux/reloc-ldflags: New file, from GNU gettext.
4678         * lib/relocatable.h: New file, from GNU gettext.
4679         * lib/relocatable.c: New file, from GNU gettext.
4680         * lib/relocwrapper.c: New file, from GNU gettext.
4681         * m4/relocatable.m4: New file, from GNU gettext.
4682
4683 2007-02-28  Bruno Haible  <bruno@clisp.org>
4684
4685         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
4686
4687         * modules/xreadlink: New file, from GNU gettext with modifications.
4688         * lib/xreadlink.c: New file, from GNU gettext.
4689         * lib/xreadlink.h: Add comments.
4690         (xreadlink): New declaration.
4691
4692         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
4693         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
4694         lib/xreadlink-with-size.c.
4695         (configure.ac): Remove gl_XREADLINK invocation.
4696         (Makefile.am): Augment lib_SOURCES.
4697         * m4/xreadlink.m4: Remove file.
4698         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
4699         (xreadlink_with_size): Renamed from xreadink.
4700         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
4701         * modules/canonicalize (Depends-on): Replace xreadlink with
4702         xreadlink-with-size.
4703         * lib/canonicalize.c (canonicalize_filename_mode): Update.
4704
4705 2007-02-25  Jim Meyering  <jim@meyering.net>
4706
4707         * build-aux/announce-gen: When complaining about excess arguments,
4708         list them.
4709
4710 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
4711
4712         * README: Document signed integer overflow situation more
4713         accurately.
4714
4715 2007-02-25  Bruno Haible  <bruno@clisp.org>
4716
4717         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
4718         'a' or 'A' conversion.
4719
4720 2007-02-25  Bruno Haible  <bruno@clisp.org>
4721
4722         * modules/filename: Renamed from modules/pathname.
4723         (Files): Replace lib/pathname.h with lib/filename.h. Replace
4724         lib/concatpath.c with lib/concat-filename.c.
4725         (Makefile.am): Update.
4726         (Include): Replace pathname.h with filename.h.
4727         * lib/filename.h: Renamed from lib/pathname.h.
4728         (concatenated_filename): Renamed from concatenated_pathname.
4729         * lib/concat-filename.c: Renamed from lib/concatpath.c.
4730         (concatenated_filename): Renamed from concatenated_pathname.
4731         * lib/findprog.c: Include filename.h instead of pathname.h.
4732         (find_in_path): Update.
4733         * lib/javacomp.c: Include filename.h instead of pathname.h.
4734         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
4735         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
4736         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
4737         is_oldgcj_14_13_usable, is_javac_usable): Update.
4738         * lib/javaexec.c: Include filename.h instead of pathname.h.
4739         (execute_java_class): Update.
4740         * modules/findprog: Update.
4741         * modules/javacomp: Update.
4742         * modules/javaexec: Update.
4743         * MODULES.html.sh (File system functions): Add 'filename', remove
4744         'pathname'.
4745
4746 2007-02-25  Bruno Haible  <bruno@clisp.org>
4747
4748         * modules/printf-frexpl-tests: New file.
4749         * tests/test-printf-frexpl.c: New file.
4750
4751         * modules/printf-frexpl: New file.
4752         * lib/printf-frexpl.h: New file.
4753         * lib/printf-frexpl.c: New file.
4754         * m4/printf-frexpl.m4: New file.
4755
4756 2007-02-25  Bruno Haible  <bruno@clisp.org>
4757
4758         * modules/printf-frexp-tests: New file.
4759         * tests/test-printf-frexp.c: New file.
4760
4761         * modules/printf-frexp: New file.
4762         * lib/printf-frexp.h: New file.
4763         * lib/printf-frexp.c: New file.
4764         * m4/printf-frexp.m4: New file.
4765
4766 2007-02-25  Bruno Haible  <bruno@clisp.org>
4767
4768         Assume automake >= 1.10 for the tests.
4769         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
4770         * modules/arctwo-tests: Likewise.
4771         * modules/argp-tests: Likewise.
4772         * modules/avltree-list-tests: Likewise.
4773         * modules/avltree-oset-tests: Likewise.
4774         * modules/avltreehash-list-tests: Likewise.
4775         * modules/carray-list-tests: Likewise.
4776         * modules/crc-tests: Likewise.
4777         * modules/des-tests: Likewise.
4778         * modules/gc-arcfour-tests: Likewise.
4779         * modules/gc-arctwo-tests: Likewise.
4780         * modules/gc-des-tests: Likewise.
4781         * modules/gc-hmac-md5-tests: Likewise.
4782         * modules/gc-hmac-sha1-tests: Likewise.
4783         * modules/gc-md2-tests: Likewise.
4784         * modules/gc-md4-tests: Likewise.
4785         * modules/gc-md5-tests: Likewise.
4786         * modules/gc-pbkdf2-sha1-tests: Likewise.
4787         * modules/gc-rijndael-tests: Likewise.
4788         * modules/gc-sha1-tests: Likewise.
4789         * modules/gc-tests: Likewise.
4790         * modules/getaddrinfo-tests: Likewise.
4791         * modules/hmac-md5-tests: Likewise.
4792         * modules/hmac-sha1-tests: Likewise.
4793         * modules/linked-list-tests: Likewise.
4794         * modules/linkedhash-list-tests: Likewise.
4795         * modules/lock-tests: Likewise.
4796         * modules/md2-tests: Likewise.
4797         * modules/md4-tests: Likewise.
4798         * modules/md5-tests: Likewise.
4799         * modules/rbtree-list-tests: Likewise.
4800         * modules/rbtree-oset-tests: Likewise.
4801         * modules/rbtreehash-list-tests: Likewise.
4802         * modules/read-file-tests: Likewise.
4803         * modules/rijndael-tests: Likewise.
4804         * modules/stdint-tests: Likewise.
4805         * modules/tls-tests: Likewise.
4806
4807 2007-02-24  Bruno Haible  <bruno@clisp.org>
4808
4809         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
4810         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
4811         function; instead check whether isnan with a double argument links.
4812         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
4813         function; instead check whether isnan with a 'long double' argument
4814         links.
4815         Reported by Eric Blake <ebb9@byu.net>.
4816
4817 2007-02-24  Bruno Haible  <bruno@clisp.org>
4818
4819         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
4820         defined.
4821         * lib/isnanl.c: Remove all code. Just include isnan.c.
4822         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
4823
4824 2007-02-25  Jim Meyering  <jim@meyering.net>
4825
4826         Avoid conflicting types for 'unsetenv' on FreeBSD.
4827         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
4828         conflicting with FreeBSD's (5.0 and 6.1) function declaration
4829         in stdlib.h.
4830
4831 2007-02-24  Bruno Haible  <bruno@clisp.org>
4832
4833         * modules/isnanl-nolibm-tests: New file.
4834         * tests/test-isnanl.c: New file.
4835
4836         * modules/isnanl-nolibm: New file.
4837         * lib/isnanl.h: New file.
4838         * lib/isnanl.c: New file.
4839         * m4/isnanl.m4: New file.
4840
4841 2007-02-24  Bruno Haible  <bruno@clisp.org>
4842
4843         * modules/isnan-nolibm-tests: New file.
4844         * tests/test-isnan.c: New file.
4845
4846         * modules/isnan-nolibm: New file.
4847         * lib/isnan.h: New file.
4848         * lib/isnan.c: New file.
4849         * m4/isnan.m4: New file.
4850
4851 2007-02-24  Bruno Haible  <bruno@clisp.org>
4852
4853         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
4854         assume that an exponent fits in 20 bits.
4855
4856 2007-02-24  Jim Meyering  <jim@meyering.net>
4857
4858         * m4/regex.m4: Update the description of the configure-time option,
4859         --without-included-regex, to state accurately what the defaults are,
4860         and perhaps to give people an idea why using this option is risky.
4861
4862 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
4863
4864         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
4865         loops on small arguments.  This attempts to avoid the problem
4866         Bruno Haible reported for AIX 4.3.2 in
4867         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
4868
4869 2007-02-23  Bruno Haible  <bruno@clisp.org>
4870
4871         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
4872         Needed for help2man.
4873
4874 2007-02-23  Karl Berry  <karl@gnu.org>
4875
4876         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
4877         exists, foo.h should be cvs-ignored, not committed.
4878
4879 2007-02-23  Eric Blake  <ebb9@byu.net>
4880
4881         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
4882         * lib/stat-time.h (includes): Likewise.
4883         * lib/utimecmp.c (includes): Likewise.
4884         * lib/utimens.h (includes): Likewise.
4885         * lib/getdate.y (includes): Also include "timespec.h" for use
4886         internal to the module.
4887         * modules/utimens (Depends-on): Revert yesterday's patch.
4888         * modules/nanosleep (Depends-on): Add missing dependency.
4889
4890 2007-02-22  Bruno Haible  <bruno@clisp.org>
4891
4892         * lib/glob.c: Don't include getlogin_r.h.
4893
4894 2007-02-22  Jim Meyering  <jim@meyering.net>
4895
4896         * modules/utimens (Depends-on): Add timespec, required for
4897         utimens.h's inclusion of timespec.h.
4898
4899 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
4900
4901         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
4902         long unreadable paths in GNU/Linux.  Problem reported by Andreas
4903         Schwab in
4904         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
4905         I'll try to think of a better way to fix the Solaris problem.
4906
4907         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
4908         like glibc; on Solaris 10, it fails with errno == EINVAL.
4909         POSIX says the behavior is unspecified if the first argument is NULL,
4910         so play it safe and never pass NULL to the system getcwd.
4911
4912 2007-02-21  Jim Meyering  <jim@meyering.net>
4913
4914         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
4915         of gettimeofday.  It would conflict with the one now always
4916         provided via sys_time_.h.  Reported by Matthew Woehlke, as
4917         an IRIX 6.5 build failure.
4918
4919 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
4920
4921         Minor fixups to port to Solaris 10 with Sun C 5.8.
4922         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
4923         * modules/getcwd (Depends-on): Add dirfd.
4924         * lib/putenv.c (putenv): #undef it.
4925         (rpl_putenv): New decl.
4926         (malloc, free): Include <stdlib.h> rather than prototyping separately.
4927
4928 2007-02-20  Bruno Haible  <bruno@clisp.org>
4929
4930         * modules/stdio-tests: New file.
4931         * tests/test-stdio.c: New file.
4932
4933         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
4934         (Depends-on): Add stdio.
4935         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
4936         (Include): Use <stdio.h> instead of vsnprintf.h.
4937         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
4938         HAVE_DECL_VSNPRINTF.
4939         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
4940
4941         * modules/snprintf (Files): Remove lib/snprintf.h.
4942         (Depends-on): Add stdio.
4943         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
4944         (Include): Use <stdio.h> instead of snprintf.h.
4945         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
4946         HAVE_DECL_SNPRINTF.
4947         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
4948         * lib/getaddrinfo.c: Likewise.
4949
4950         * modules/stdio: New file.
4951         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
4952         * lib/snprintf.h: Remove file.
4953         * lib/vsnprintf.h: Remove file.
4954         * lib/.cppi-disable: Remove snprintf.h.
4955         * m4/stdio_h.m4: New file.
4956         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
4957
4958 2007-02-20  Jim Meyering  <jim@meyering.net>
4959
4960         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
4961         used by e.g., mingw.  From Bruno Haible.
4962
4963 2007-02-19  Bruno Haible  <bruno@clisp.org>
4964
4965         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
4966         warnings.
4967         Reported by Ben Pfaff <blp@cs.stanford.edu>.
4968
4969 2007-02-19  Bruno Haible  <bruno@clisp.org>
4970
4971         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
4972         from mingw users.
4973
4974 2007-02-19  Bruno Haible  <bruno@clisp.org>
4975
4976         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
4977         warnings.
4978         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
4979
4980 2007-02-19  Jim Meyering  <jim@meyering.net>
4981
4982         Don't use FD after a successful "fdopendir (fd)".
4983         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
4984         Reset it by calling dirfd on the just-obtained DIR*.
4985
4986         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
4987         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
4988
4989 2007-02-18  Bruno Haible  <bruno@clisp.org>
4990
4991         * lib/readlink.c: Include <unistd.h>.
4992         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
4993         HAVE_READLINK.
4994         * modules/readlink (Depends-on): Add unistd.
4995         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
4996         (Include): Add <unistd.h>.
4997
4998         * lib/getlogin_r.h: Remove file.
4999         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
5000         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
5001         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
5002         HAVE_DECL_GETLOGIN_R.
5003         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
5004         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5005         (Include): Use <unistd.h> instead of getlogin_r.h.
5006
5007         * lib/getcwd.h: Remove file.
5008         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
5009         * lib/xgetcwd.c: Likewise.
5010         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
5011         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
5012         * modules/getcwd (Files): Remove lib/getcwd.h.
5013         (Depends-on): Add unistd.
5014         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5015         (Include): Use <unistd.h> instad of getcwd.h.
5016
5017         * lib/ftruncate.c: Include <unistd.h> first.
5018         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
5019         Set HAVE_FTRUNCATE.
5020         * modules/ftruncate (Depends-on): Add unistd.
5021         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5022
5023         * lib/fchdir.c: Include <unistd.h> first.
5024         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
5025         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
5026         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
5027         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5028         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
5029
5030         * lib/dup2.c: Include <unistd.h> first.
5031         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
5032         HAVE_DUP2.
5033         * modules/dup2 (Depends-on): Add unistd.
5034         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5035
5036         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
5037         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
5038         REPLACE_CHOWN. Don't define chown as a macro here.
5039         * modules/chown (Depends-on): Add unistd.
5040         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5041
5042         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
5043         Add definition for GL_LINK_WARNING.
5044         (chown, dup2): New declarations.
5045         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
5046         link warning.
5047         (ftruncate): New declaration.
5048         (getcwd): New declaration, taken from old getcwd.h.
5049         (getlogin_r): New declaration, taken from old getlogin_r.h.
5050         (readlink): New declaration.
5051         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
5052         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
5053         (gl_PREREQ_UNISTD): Remove macro.
5054         (gl_UNISTD_MODULE_INDICATOR): New macro.
5055         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
5056         many new variables. Don't set UNISTD_H.
5057         * modules/unistd (Description): Change.
5058         (Depends-on): Add link-warning.
5059         (configure.ac): Update.
5060         (Makefile.am): Create unistd.h always. Substitute many new variables
5061         into it.
5062
5063 2007-02-18  Bruno Haible  <bruno@clisp.org>
5064
5065         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
5066         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
5067         HAVE_GETSUBOPT.
5068         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
5069         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
5070         * lib/getsubopt.h: Remove file.
5071         * modules/getsubopt (Files): Remove lib/getsubopt.h.
5072         (Depends-on): Add stdlib.
5073         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
5074         (Includes): Use <stdlib.h> instead of getsubopt.h.
5075         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
5076         Set HAVE_GETSUBOPT.
5077         * lib/getsubopt.c: Don't include getsubopt.h.
5078
5079 2007-02-18  Bruno Haible  <bruno@clisp.org>
5080
5081         * modules/fchdir (Depends-on): Add dup2.
5082
5083 2007-02-18  Bruno Haible  <bruno@clisp.org>
5084
5085         * lib/stdlib_.h: Handle glibc's special invocation convention
5086         specially.
5087
5088 2007-02-18  Bruno Haible  <bruno@clisp.org>
5089
5090         * modules/stdlib-tests: New file.
5091         * tests/test-stdlib.c: New file.
5092
5093         * modules/mkstemp (Files): Remove lib/mkstemp.h.
5094         (Depends-on): Add stdlib.
5095         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
5096         (Includes): Use <stdlib.h> instead of mkstemp.h.
5097         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
5098         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
5099         * lib/mkstemp.c: Don't include mkstemp.h.
5100         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
5101         * lib/stdlib--.h: Don't include mkstemp.h.
5102
5103         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
5104         (Depends-on): Add stdlib.
5105         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
5106         (Includes): Use <stdlib.h> instead of mkdtemp.h.
5107         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
5108         HAVE_MKDTEMP.
5109         * lib/mkdtemp.c: Don't include mkdtemp.h.
5110         * lib/clean-temp.c: Don't include mkdtemp.h.
5111
5112         * modules/exit (Files): Remove lib/exit.h.
5113         (Depends-on): Add stdlib.
5114         (Makefile.am): Remove lib_SOURCES.
5115         (Include): Use <stdlib.h> instead of exit.h.
5116         * lib/argmatch.c: Don't include exit.h.
5117         * lib/execute.c: Likewise.
5118         * lib/pagealign_alloc.c: Likewise.
5119         * lib/pipe.c: Likewise.
5120         * lib/wait-process.c: Likewise.
5121         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
5122         * lib/exitfail.c: Likewise.
5123         * lib/savewd.c: Likewise.
5124         * lib/xsetenv.c: Likewise.
5125
5126         * modules/stdlib: New file.
5127         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
5128         and extra comments about mkstemp().
5129         * lib/exit.h: Remove file.
5130         * lib/mkdtemp.h: Remove file.
5131         * lib/mkstemp.h: Remove file.
5132         * m4/stdlib_h.m4: New file.
5133         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
5134
5135 2007-02-18  Bruno Haible  <bruno@clisp.org>
5136
5137         * modules/math-tests: New file.
5138         * tests/test-math.c: New file.
5139
5140         * modules/math: New file.
5141         * modules/mathl (Files): Remove lib/mathl.h.
5142         (Depends-on): Add math.
5143         (Makefile.am): Don't mention mathl.h.
5144         (Include): Use <math.h> instead of mathl.h.
5145         * lib/math_.h: New file.
5146         * lib/mathl.h: Remove file.
5147         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
5148         mathl.h.
5149         * lib/asinl.c: Likewise.
5150         * lib/atanl.c: Likewise.
5151         * lib/ceill.c: Likewise.
5152         * lib/cosl.c: Likewise.
5153         * lib/expl.c: Likewise.
5154         * lib/floorl.c: Likewise.
5155         * lib/frexpl.c: Likewise.
5156         * lib/ldexpl.c: Likewise.
5157         * lib/logl.c: Likewise.
5158         * lib/sincosl.c: Likewise.
5159         * lib/sinl.c: Likewise.
5160         * lib/sqrtl.c: Likewise.
5161         * lib/tanl.c: Likewise.
5162         * lib/trigl.c: Likewise.
5163         * m4/math_h.m4: New file.
5164         * MODULES.html.sh (Mathematics): Add math.
5165
5166 2007-02-17  Bruno Haible  <bruno@clisp.org>
5167
5168         * modules/wctype-tests: New file.
5169         * tests/test-wctype.c: New file.
5170
5171         * modules/wchar-tests: New file.
5172         * tests/test-wchar.c: New file.
5173
5174         * modules/unistd-tests: New file.
5175         * tests/test-unistd.c: New file.
5176
5177         * modules/time-tests: New file.
5178         * tests/test-time.c: New file.
5179
5180         * modules/sysexits-tests: New file.
5181         * tests/test-sysexits.c: New file.
5182
5183         * modules/sys_time-tests: New file.
5184         * tests/test-sys_time.c: New file.
5185
5186         * modules/sys_stat-tests: New file.
5187         * tests/test-sys_stat.c: New file.
5188
5189         * modules/sys_socket-tests: New file.
5190         * tests/test-sys_socket.c: New file.
5191
5192         * modules/sys_select-tests: New file.
5193         * tests/test-sys_select.c: New file.
5194
5195         * modules/string-tests: New file.
5196         * tests/test-string.c: New file.
5197
5198         * modules/stdbool-tests: New file.
5199         * tests/test-stdbool.c: New file.
5200
5201         * modules/netinet_in-tests: New file.
5202         * tests/test-netinet_in.c: New file.
5203
5204         * modules/inttypes-tests: New file.
5205         * tests/test-inttypes.c: New file.
5206
5207         * modules/fcntl-tests: New file.
5208         * tests/test-fcntl.c: New file.
5209
5210         * modules/byteswap-tests: New file.
5211         * tests/test-byteswap.c: New file.
5212
5213         * modules/arpa_inet-tests: New file.
5214         * tests/test-arpa_inet.c: New file.
5215
5216 2007-02-17  Bruno Haible  <bruno@clisp.org>
5217
5218         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
5219         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
5220         if the corresponding module is not enabled. Emit link warnings if
5221         the function is used nevertheless.
5222         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
5223         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
5224         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
5225         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
5226         * modules/inttypes (Depends-on): Add link-warning.
5227         (Makefile.am): Copy the contents of build-aux/link-warning.h into
5228         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
5229         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
5230         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
5231         * modules/imaxdiv (configure.ac): Likewise.
5232         * modules/strtoimax (configure.ac): Likewise.
5233         * modules/strtoumax (configure.ac): Likewise.
5234
5235 2007-02-17  Bruno Haible  <bruno@clisp.org>
5236
5237         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
5238         gl_STRING_MODULE_INDICATOR_DEFAULTS.
5239         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
5240         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
5241
5242 2007-02-17  Bruno Haible  <bruno@clisp.org>
5243
5244         * modules/link-warning: New file.
5245         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
5246         * lib/string_.h (GL_LINK_WARNING): Remove definition.
5247         * modules/string (Depends-on): Add link-warning.
5248         (Makefile.am): Copy the contents of build-aux/link-warning.h into
5249         string.h.
5250         * MODULES.html.sh (Support for building libraries and executables): Add
5251         link-warning.
5252
5253 2007-02-17  Bruno Haible  <bruno@clisp.org>
5254
5255         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
5256         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
5257         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
5258         long lines.
5259
5260 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
5261             Bruno Haible  <bruno@clisp.org>
5262
5263         * modules/tmpfile: New file.
5264         * lib/tmpfile.c: New file.
5265         * m4/tmpfile.m4: New file.
5266         * MODULES.html.sh (func_all_modules): New section "Input/output".
5267
5268 2007-02-15  Bruno Haible  <bruno@clisp.org>
5269
5270         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
5271         (supports_delete_on_close): New function.
5272         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
5273
5274 2007-02-14  Bruno Haible  <bruno@clisp.org>
5275
5276         * modules/mbspcasecmp-tests: New file.
5277         * tests/test-mbspcasecmp.sh: New file.
5278         * tests/test-mbspcasecmp.c: New file.
5279
5280         New module mbspcasecmp.
5281         * modules/mbspcasecmp: New file.
5282         * lib/mbspcasecmp.c: New file.
5283         * lib/string_.h (strncasecmp): Change warning message.
5284         (mbspcasecmp): New declaration.
5285         * m4/mbspcasecmp.m4: New file.
5286         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5287         GNULIB_MBSPCASECMP.
5288         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
5289         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
5290
5291 2007-02-14  Bruno Haible  <bruno@clisp.org>
5292
5293         * modules/mbsncasecmp-tests: New file.
5294         * tests/test-mbsncasecmp.sh: New file.
5295         * tests/test-mbsncasecmp.c: New file.
5296
5297         New module mbsncasecmp.
5298         * modules/mbsncasecmp: New file.
5299         * lib/mbsncasecmp.c: New file.
5300         * lib/string_.h (mbsncasecmp): New declaration.
5301         * m4/mbsncasecmp.m4: New file.
5302         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5303         GNULIB_MBSNCASECMP.
5304         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
5305         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
5306
5307 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
5308
5309         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
5310         Verify that it doesn't overlap with our flags.
5311         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
5312         do not have the desired effect in multibyte locales; instead, use
5313         mbscasecmp.
5314         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
5315         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
5316         we don't require GNU fnmatch ourselves (if our users require it, they
5317         should do so explicitly).
5318
5319         Fix regex code so it doesn't rely on strcasecmp.
5320         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
5321         Otherwise, include gnulib's langinfo.h.
5322         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
5323         undesirable behavior in non-C locales.  Instead, rely on localecharset.
5324         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
5325         * modules/regex (FILES): Remove m4/codeset.m4.
5326         (Depends-on): Add localcharset.  Remove strcase.
5327
5328 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5329
5330         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
5331         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5332
5333 2007-02-13  Bruno Haible  <bruno@clisp.org>
5334
5335         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
5336         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5337
5338 2007-02-12  Bruno Haible  <bruno@clisp.org>
5339
5340         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
5341         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
5342         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
5343         time warning rather than a link error.
5344
5345 2007-02-12  Bruno Haible  <bruno@clisp.org>
5346
5347         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
5348         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
5349         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5350
5351 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
5352
5353         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
5354         args, not 2.
5355
5356 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
5357
5358         New module 'time', so that apps can include <time.h> as per
5359         POSIX and GNU instead of separate include files like time_r.h
5360         and timegm.h.  This implementation tries out a simpler approach
5361         for replacing decls in standard include files (as compared to
5362         the string module), somewhat as an experiment.
5363
5364         * config/srclist.txt: Comment out mktime.c for now.
5365         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
5366         since it doesn't apply any more.  Use generic wording instead.
5367         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
5368         'time'.
5369         * lib/time_.h, m4/time_h.m4, modules/time: New files.
5370         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
5371         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
5372         Don't include <sys/types.h>; no longer needed since we assume C89.
5373         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
5374         * lib/strftime.c: Likewise.
5375         * lib/time_r.c: Likewise.
5376         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
5377         * lib/nanosleep.c: Include <time.h> first, to check interface.
5378         * lib/strptime.c: Likewise.
5379         * lib/time_r.c: Likewise.
5380         * lib/timegm.c: Likewise.
5381         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
5382         needed.
5383         * lib/timegm.c: Don't include timegm.h; no longer needed.
5384         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
5385         time.h now handles any problems in that area.
5386         (struct timespec, nanosleep): Remove; time.h now arranges for these.
5387         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
5388         that time.h defines struct timespec.
5389         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
5390         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
5391         handles that.
5392         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
5393         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
5394         needed.  Set REPLACE_LOCALTIME.
5395         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
5396         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
5397         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
5398         nanosleep; time_h.m4 now does that.  Don't require
5399         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
5400         module handles this now.
5401         * modules/getdate (Depends-on): Remove timespec.  Add time.
5402         * modules/nanosleep (Depends-on): Likewise.
5403         * modules/stat-time (Depends-on): Likewise.
5404         * modules/nanosleep (Include): Include time.h, not timespec.h.
5405         * modules/strptime (Files): Remove lib/strptime.h.
5406         (Depends-on): Add extensions, time.
5407         (Include): Include time.h, not strptime.h.
5408         * modules/time_r (Files): Remove lib/time_r.h.
5409         (Depends-on): Add time.
5410         (Include): Include time.h, not time_r.h.
5411         * modules/timegm: Likewise.
5412         * modules/timespec (Description): Now does timespec-related decls
5413         of our own, instead of struct timespec itself.
5414         (Depends-on): Add time; remove extensions.
5415         (Maintainer): Add self.
5416         * modules/utimecmp (Depends-on): Add time; remove timespec.
5417         * modules/utimens (Depends-on): Likewise.
5418         * modules/xnanosleep (Depends-on): Likewise.
5419
5420 2007-02-11  Bruno Haible  <bruno@clisp.org>
5421
5422         * lib/c-strstr.c: Include allocsa.h.
5423         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
5424         * lib/c-strcasestr.c: Include allocsa.h.
5425         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
5426         * lib/strcasestr.c: Include allocsa.h.
5427         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
5428         * lib/mbsstr.c: Include allocsa.h.
5429         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
5430         allocsa/freesa instead of malloc/free.
5431         * lib/mbscasestr.c: Include allocsa.h.
5432         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
5433         allocsa/freesa instead of malloc/free.
5434         * modules/c-strstr (Depends-on): Add allocsa.
5435         * modules/c-strcasestr (Depends-on): Likewise.
5436         * modules/strcasestr (Depends-on): Likewise.
5437         * modules/mbsstr (Depends-on): Likewise.
5438         * modules/mbscasestr (Depends-on): Likewise.
5439
5440 2007-02-11  Bruno Haible  <bruno@clisp.org>
5441
5442         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
5443
5444         * modules/mbsspn-tests: New file.
5445         * tests/test-mbsspn.sh: New file.
5446         * tests/test-mbsspn.c: New file.
5447
5448 2007-02-11  Bruno Haible  <bruno@clisp.org>
5449
5450         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
5451
5452         * modules/mbspbrk-tests: New file.
5453         * tests/test-mbspbrk.sh: New file.
5454         * tests/test-mbspbrk.c: New file.
5455
5456 2007-02-11  Bruno Haible  <bruno@clisp.org>
5457
5458         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
5459         unneeded cast.
5460
5461         * modules/mbscspn-tests: New file.
5462         * tests/test-mbscspn.sh: New file.
5463         * tests/test-mbscspn.c: New file.
5464
5465 2007-02-11  Bruno Haible  <bruno@clisp.org>
5466
5467         * modules/mbscasecmp-tests: New file.
5468         * tests/test-mbscasecmp.sh: New file.
5469         * tests/test-mbscasecmp.c: New file.
5470
5471 2007-02-11  Bruno Haible  <bruno@clisp.org>
5472
5473         Ensure O(n) worst-case complexity of mbscasestr.
5474         * lib/mbscasestr.c: Include stdbool.h.
5475         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
5476         functions.
5477         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
5478         the bookkeeping indicates that it's worth it.
5479         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
5480
5481         * modules/mbscasestr-tests: New file.
5482         * tests/test-mbscasestr1.c: New file.
5483         * tests/test-mbscasestr2.sh: New file.
5484         * tests/test-mbscasestr2.c: New file.
5485         * tests/test-mbscasestr3.sh: New file.
5486         * tests/test-mbscasestr3.c: New file.
5487         * tests/test-mbscasestr4.sh: New file.
5488         * tests/test-mbscasestr4.c: New file.
5489         * m4/locale-tr.m4: New file.
5490
5491 2007-02-11  Bruno Haible  <bruno@clisp.org>
5492
5493         Ensure O(n) worst-case complexity of mbsstr.
5494         * lib/mbsstr.c: Include stdbool.h.
5495         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
5496         functions.
5497         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
5498         bookkeeping indicates that it's worth it.
5499         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
5500
5501         * modules/mbsstr-tests: New file.
5502         * tests/test-mbsstr1.c: New file.
5503         * tests/test-mbsstr2.sh: New file.
5504         * tests/test-mbsstr2.c: New file.
5505         * tests/test-mbsstr3.sh: New file.
5506         * tests/test-mbsstr3.c: New file.
5507         * m4/locale-fr.m4: New file.
5508
5509 2007-02-11  Bruno Haible  <bruno@clisp.org>
5510
5511         * lib/mbsrchr.c (mbsrchr): Fix bug.
5512
5513         * modules/mbsrchr-tests: New file.
5514         * tests/test-mbsrchr.sh: New file.
5515         * tests/test-mbsrchr.c: New file.
5516
5517 2007-02-11  Bruno Haible  <bruno@clisp.org>
5518
5519         * lib/mbschr.c (mbschr): Fix bug.
5520
5521         * modules/mbschr-tests: New file.
5522         * tests/test-mbschr.sh: New file.
5523         * tests/test-mbschr.c: New file.
5524         * m4/locale-zh.m4: New file.
5525
5526 2007-02-11  Bruno Haible  <bruno@clisp.org>
5527
5528         Support for copying multibyte string iterators.
5529         * lib/mbiter.h: Include <string.h>.
5530         (mbiter_multi_copy): New function.
5531         (mbi_copy): New macro.
5532         * lib/mbuiter.h: Include <string.h>.
5533         (mbuiter_multi_copy): New function.
5534         (mbui_copy): New macro.
5535
5536 2007-02-11  Bruno Haible  <bruno@clisp.org>
5537
5538         New module mbslen.
5539         * modules/mbslen: New file.
5540         * lib/mbslen.c: New file.
5541         * lib/string_.h (mbslen): New declaration.
5542         * m4/mbslen.m4: New file.
5543         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5544         GNULIB_MBSLEN.
5545         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
5546         * MODULES.html.sh (Internationalization functions): Add mbslen.
5547
5548 2007-02-11  Bruno Haible  <bruno@clisp.org>
5549
5550         Ensure O(n) worst-case complexity of strcasestr substitute.
5551         * lib/strcasestr.c: Include stdbool.h.
5552         (knuth_morris_pratt): New function.
5553         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
5554         bookkeeping indicates that it's worth it.
5555         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
5556
5557         * modules/strcasestr-tests: New file.
5558         * tests/test-strcasestr.c: New file.
5559
5560 2007-02-11  Bruno Haible  <bruno@clisp.org>
5561
5562         Ensure O(n) worst-case complexity of c_strcasestr.
5563         * lib/c-strcasestr.c: Include stdbool.h, string.h.
5564         (knuth_morris_pratt): New function.
5565         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
5566         the bookkeeping indicates that it's worth it.
5567         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
5568
5569         * modules/c-strcasestr-tests: New file.
5570         * tests/test-c-strcasestr.c: New file.
5571
5572 2007-02-11  Bruno Haible  <bruno@clisp.org>
5573
5574         Ensure O(n) worst-case complexity of c_strstr.
5575         * lib/c-strstr.c: Include stdbool.h, string.h.
5576         (knuth_morris_pratt): New function.
5577         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
5578         bookkeeping indicates that it's worth it.
5579         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
5580
5581         * lib/c-strstr.c: Complete rewrite for maintainability.
5582
5583         * modules/c-strstr-tests: New file.
5584         * tests/test-c-strstr.c: New file.
5585
5586 2007-02-11  Bruno Haible  <bruno@clisp.org>
5587
5588         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
5589         5.2.1 and earlier, whereby \055 was treated just like the range
5590         delimiter '-'.
5591         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
5592
5593 2007-02-08  Bruno Haible  <bruno@clisp.org>
5594
5595         * modules/regex (Depends-on): Add stdbool.
5596         Reported by Dalibor Topic <robilad@kaffe.org>.
5597
5598 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
5599
5600         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
5601         Prefer returning from main to exiting from it.
5602         Remove unnecessary parens after sizeof.
5603
5604 2007-02-05  Bruno Haible  <bruno@clisp.org>
5605
5606         New module mbssep.
5607         * modules/mbssep: New file.
5608         * lib/mbssep.c: New file.
5609         * lib/string_.h (strsep): Add a conditional link warning.
5610         (mbssep): New declaration.
5611         * m4/mbssep.m4: New file.
5612         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5613         GNULIB_MBSSEP.
5614         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
5615         * MODULES.html.sh (Internationalization functions): Add mbssep.
5616
5617 2007-02-05  Bruno Haible  <bruno@clisp.org>
5618
5619         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
5620         Optimize search in case of 1 delimiter.
5621
5622 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
5623
5624         * lib/acl.h: Include sys/types.h before sys/acl.h.
5625
5626 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
5627
5628         Merge upstream fix for glibc bugzilla #3957:
5629
5630         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
5631
5632         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
5633         bit for RE_HAT_LISTS_NOT_NEWLINE.
5634         (build_charclass_op): Remove bogus comment.
5635
5636 2007-02-05  Simon Josefsson  <simon@josefsson.org>
5637
5638         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
5639
5640 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
5641
5642         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
5643         * lib/memmem.c [!defined _LIBC]: Include config.h.
5644
5645 2007-02-04  Bruno Haible  <bruno@clisp.org>
5646
5647         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
5648         warning message.
5649
5650 2007-02-04  Bruno Haible  <bruno@clisp.org>
5651
5652         New module mbstok_r.
5653         * modules/mbstok_r: New file.
5654         * lib/mbstok_r.c: New file.
5655         * lib/string_.h (strtok_r): Change argument names to match the
5656         comments. Add a conditional link warning.
5657         (mbstok_r): New declaration.
5658         * m4/mbstok_r.m4: New file.
5659         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5660         GNULIB_MBSTOK_R.
5661         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
5662         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
5663
5664 2007-02-04  Bruno Haible  <bruno@clisp.org>
5665
5666         New module mbsspn.
5667         * modules/mbsspn: New file.
5668         * lib/mbsspn.c: New file.
5669         * lib/string_.h (strspn): Add a conditional link warning.
5670         (mbsspn): New declaration.
5671         * m4/mbsspn.m4: New file.
5672         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5673         GNULIB_MBSSPN.
5674         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
5675         * MODULES.html.sh (Internationalization functions): Add mbsspn.
5676
5677 2007-02-04  Bruno Haible  <bruno@clisp.org>
5678
5679         New module mbspbrk.
5680         * modules/mbspbrk: New file.
5681         * lib/mbspbrk.c: New file.
5682         * lib/string_.h (strpbrk): Add a conditional link warning.
5683         (mbspbrk): New declaration.
5684         * m4/mbspbrk.m4: New file.
5685         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5686         GNULIB_MBSPBRK.
5687         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
5688         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
5689
5690 2007-02-04  Bruno Haible  <bruno@clisp.org>
5691
5692         New module mbscspn.
5693         * modules/mbscspn: New file.
5694         * lib/mbscspn.c: New file.
5695         * lib/string_.h (strcspn): Add a conditional link warning.
5696         (mbscspn): New declaration.
5697         * m4/mbscspn.m4: New file.
5698         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5699         GNULIB_MBSCSPN.
5700         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
5701         * MODULES.html.sh (Internationalization functions): Add mbscspn.
5702
5703 2007-02-04  Bruno Haible  <bruno@clisp.org>
5704
5705         New module mbscasestr, reduced goal of strcasestr.
5706         * modules/mbscasestr: New file.
5707         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
5708         (mbscasestr): Renamed from strcasestr.
5709         * lib/strcasestr.c: Don't include mbuiter.h.
5710         (strcasestr): Remove support for multibyte locales.
5711         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
5712         Change the conditional link warning.
5713         (mbscasestr): New declaration.
5714         * m4/mbscasestr.m4: New file.
5715         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
5716         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
5717         REPLACE_STRCASESTR.
5718         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
5719         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
5720         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
5721         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
5722         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
5723         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
5724         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
5725         (Depends-on): Remove mbuiter.
5726         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
5727
5728 2007-02-04  Bruno Haible  <bruno@clisp.org>
5729
5730         Simplify handling of strncasecmp.
5731         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
5732         the conditional link warning.
5733         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
5734         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
5735         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
5736         * modules/strcase (configure.ac): Don't invoke
5737         gl_STRING_MODULE_INDICATOR.
5738         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
5739
5740 2007-02-04  Bruno Haible  <bruno@clisp.org>
5741
5742         New module mbscasecmp, reduced goal of strcasecmp.
5743         * modules/mbscasecmp: New file.
5744         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
5745         (mbscasecmp): Renamed from strcasecmp.
5746         * lib/strcasecmp.c: Don't include mbuiter.h.
5747         (strcasecmp): Remove support for multibyte locales.
5748         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
5749         Change the conditional link warning.
5750         (mbscasecmp): New declaration.
5751         * m4/mbscasecmp.m4: New file.
5752         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
5753         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
5754         REPLACE_STRCASECMP.
5755         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
5756         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5757         GNULIB_MBSCASECMP.
5758         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
5759         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
5760         * modules/strcase (Files): Remove m4/mbrtowc.m4.
5761         (Depends-on): Remove mbuiter.
5762         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
5763
5764 2007-02-04  Bruno Haible  <bruno@clisp.org>
5765
5766         New module mbsstr. Remove module strstr.
5767         * modules/mbsstr: New file.
5768         * modules/strstr: Remove file.
5769         * lib/mbsstr.c: Renamed from lib/strstr.c.
5770         (mbsstr): Renamed from strstr.
5771         * lib/string_.h (strstr): Remove declaration. Change the conditional
5772         link warning.
5773         (mbsstr): New declaration.
5774         * m4/mbsstr.m4: New file.
5775         * m4/strstr.m4: Remove file.
5776         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
5777         REPLACE_STRSTR.
5778         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
5779         Don't initialize GNULIB_STRSTR.
5780         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
5781         substitute GNULIB_STRSTR and REPLACE_STRSTR.
5782         * MODULES.html.sh (Internationalization functions): Add mbsstr.
5783         (Support for systems lacking ANSI C 89): Remove strstr.
5784
5785 2007-02-04  Bruno Haible  <bruno@clisp.org>
5786
5787         New module mbsrchr.
5788         * modules/mbsrchr: New file.
5789         * lib/mbsrchr.c: New file.
5790         * lib/string_.h (strrchr): Add a conditional link warning.
5791         (mbsrchr): New declaration.
5792         * m4/mbsrchr.m4: New file.
5793         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5794         GNULIB_MBSRCHR.
5795         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
5796         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
5797
5798 2007-02-04  Bruno Haible  <bruno@clisp.org>
5799
5800         New module mbschr.
5801         * modules/mbschr: New file.
5802         * lib/mbschr.c: New file.
5803         * lib/string_.h (strchr): Add a conditional link warning.
5804         (mbschr): New declaration.
5805         * m4/mbschr.m4: New file.
5806         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5807         GNULIB_MBSCHR.
5808         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
5809         * MODULES.html.sh (Internationalization functions): Add mbschr.
5810
5811 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
5812
5813         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
5814
5815         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
5816
5817 2007-02-04  Bruno Haible  <bruno@clisp.org>
5818
5819         New module description section 'configure.ac-early'.
5820         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
5821         (func_get_autoconf_early_snippet): New function.
5822         (func_import, func_create_testdir): Use it. Remove special cases for
5823         modules 'extensions' and 'lock'.
5824         * modules/extensions (configure.ac-early): Require
5825         gl_USE_SYSTEM_EXTENSIONS.
5826         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
5827
5828 2007-02-04  Bruno Haible  <bruno@clisp.org>
5829
5830         Make use of gcj-4.3's -fsource and -ftarget option.
5831         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
5832         and if so try the options -fsource and -ftarget.
5833         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
5834         source_version, ftarget_option, target_version arguments.
5835         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
5836         (is_envjavac_oldgcj_14_14_usable): Renamed from
5837         is_envjavac_gcj_14_14_usable.
5838         (is_envjavac_oldgcj_14_13_usable): Renamed from
5839         is_envjavac_gcj_14_13_usable.
5840         (is_gcj_present): Update.
5841         (is_gcj_43, is_gcj43_usable): New functions.
5842         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
5843         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
5844         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
5845         try the options -fsource and -ftarget.
5846
5847 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
5848
5849         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
5850         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
5851         larger value.
5852
5853 2007-02-03  Jim Meyering  <jim@meyering.net>
5854
5855         Give tools a better chance to allocate space for very large buffers.
5856         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
5857
5858         Make pwd and readlink work also when run with an unreadable parent dir
5859         on systems with openat support.
5860         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
5861         provided getcwd function, even when we have openat support.
5862         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
5863
5864 2007-02-02  Bruno Haible  <bruno@clisp.org>
5865
5866         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
5867         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
5868         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
5869         portability problems if one of these functions is only used on specific
5870         platforms.
5871         Reported by Paul Eggert.
5872
5873 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
5874
5875         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
5876         is causing more trouble than it's curing.
5877         * lib/regex_internal.h (__mempcpy): Remove.
5878         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
5879         (and make the code a tad smaller to boot).
5880         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
5881
5882 2007-02-02  Jim Meyering  <jim@meyering.net>
5883
5884         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
5885         section, not in the Makefile.am: one.
5886
5887 2007-02-02  Eric Blake  <ebb9@byu.net>
5888
5889         * lib/strchrnul.c: Always include config.h first.
5890
5891         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
5892         gnulib strstr is not necessary here.
5893
5894 2007-02-02  Simon Josefsson  <simon@josefsson.org>
5895
5896         * m4/socklen.m4: Fix typo.
5897
5898 2007-02-02  Eric Blake  <ebb9@byu.net>
5899
5900         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
5901         * modules/netinet_in (Makefile.am): Likewise.
5902
5903 2007-02-01  Bruno Haible  <bruno@clisp.org>
5904
5905         * lib/string_.h (GL_LINK_WARNING): New macro.
5906         (strcasecmp, strstr, strcasestr): If provided by the system,
5907         conditionally define as a macro that leads to a warning instead of to
5908         an error.
5909         (strncasecmp): Conditionally define as a macro that leads to a warning.
5910
5911 2007-02-01  Karl Berry  <karl@gnu.org>
5912
5913         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
5914
5915 2007-02-01  Bruno Haible  <bruno@clisp.org>
5916
5917         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
5918         renamings.
5919
5920 2007-02-01  Eric Blake  <ebb9@byu.net>
5921
5922         * modules/regex (Depends-on): Revert dependence on mempcpy.
5923         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
5924         module's definition of mempcpy.
5925         Reported by Paul Eggert.
5926
5927 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
5928
5929         * lib/string_.h: If the gnulib module XYZ is not present, undefine
5930         the symbol XYZ before redefining it.  This fixes a problem with
5931         programs that don't use XYZ, when compiled on systems that define
5932         XYZ to something else.
5933
5934 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
5935
5936         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
5937         occurs when "mkdir -m foo" creates a setgid directory that is (1)
5938         writeable to group or other and (2) is intended to have a special
5939         mode bit that is set or cleared.  In such a case, the directory
5940         should be neither group- nor other-writeable until the special
5941         mode bits are right.
5942
5943 2007-01-31  Eric Blake  <ebb9@byu.net>
5944
5945         * modules/mountlist (Depends-on): Add strstr.
5946
5947         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
5948         bug.
5949         * modules/string (Makefile.am): Remove redundant replacement.
5950         * modules/regex (Depends-on): Add mempcpy.
5951
5952 2007-01-31  Bruno Haible  <bruno@clisp.org>
5953
5954         New module description field 'Link'.
5955         * gnulib-tool (func_usage): Document --extract-link-directive.
5956         (sed_extract_prog): Recognize 'Link' directive.
5957         (func_get_link_directive): New function.
5958         (func_import): Show summary of link directives.
5959         Handle --extract-link-directive option.
5960         * modules/acl (Link): New section.
5961         * modules/clock-time (Link): New section.
5962         * modules/euidaccess (Link): New section.
5963         * modules/gettext (Link): New section.
5964         * modules/iconv (Link): New section.
5965         * modules/lock (Link): New section.
5966         * modules/nanosleep (Link): New section.
5967         * modules/readline (Link): New section.
5968
5969 2007-01-27  Bruno Haible  <bruno@clisp.org>
5970
5971         Enforce the use of gnulib modules for unportable <string.h> functions.
5972         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
5973         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
5974         (gl_HEADER_STRING_H_BODY): Require it.
5975         * lib/string_.h: If the gnulib module XYZ is not present, redefine
5976         the symbol XYZ to one that gives a link error.
5977         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
5978         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
5979         * modules/mempcpy (configure.ac): Likewise.
5980         * modules/memrchr (configure.ac): Likewise.
5981         * modules/stpcpy (configure.ac): Likewise.
5982         * modules/stpncpy (configure.ac): Likewise.
5983         * modules/strcase (configure.ac): Likewise.
5984         * modules/strcasestr (configure.ac): Likewise.
5985         * modules/strchrnul (configure.ac): Likewise.
5986         * modules/strdup (configure.ac): Likewise.
5987         * modules/strndup (configure.ac): Likewise.
5988         * modules/strnlen (configure.ac): Likewise.
5989         * modules/strpbrk (configure.ac): Likewise.
5990         * modules/strsep (configure.ac): Likewise.
5991         * modules/strstr (configure.ac): Likewise.
5992         * modules/strtok_r (configure.ac): Likewise.
5993
5994 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
5995
5996         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
5997
5998 2007-01-30  Jim Meyering  <jim@meyering.net>
5999
6000         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
6001
6002 2007-01-29  Bruno Haible  <bruno@clisp.org>
6003
6004         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
6005         * lib/execute.c: Likewise.
6006         * lib/pipe.c: Likewise.
6007         * lib/printf-args.h: Likewise.
6008         * lib/printf-args.c: Likewise.
6009         * lib/printf-parse.c: Likewise.
6010         * lib/vasnprintf.c: Likewise.
6011
6012 2007-01-29  Eric Blake  <ebb9@byu.net>
6013
6014         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
6015         declaration.
6016
6017 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
6018
6019         * lib/strptime.h (strptime): Use 'restrict' for args where
6020         POSIX requires this.
6021         * lib/strptime.c (strptime): Likewise.
6022         Change license notice from LGPL to GPL, since gnulib-tool will
6023         change this as needed.
6024         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
6025         defined.
6026         Include "strptime.h" first, to check interface.
6027         Do not #undef _LIBC and _NL_CURRENT.
6028         Do not include <stdlib.h>; no longer needed.
6029         Include "time_r.h" and declare ptime_locale_status
6030         only if _LIBC is not defined.
6031         (__P): Remove unused macro.
6032         (match_string): Bring back glibc version, but use it only if _LIBC
6033         is defined.
6034         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
6035         Remove unnecessary assertion and abort() call.
6036         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
6037         * m4/strptime.m4: Fix serial number comment.
6038         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
6039         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
6040         (Depends-on): Add time_r.
6041
6042 2007-01-29  Bruno Haible  <bruno@clisp.org>
6043
6044         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
6045         strptime.
6046         * modules/strptime (Depends-on): Add stdbool.
6047         * lib/strptime.h: Include <time.h> always. Add comments.
6048
6049 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
6050
6051         * modules/strptime: New file.
6052         * lib/strptime.h: New file.
6053         * lib/strptime.c: New file.
6054         * m4/strptime.m4: New file.
6055
6056 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
6057
6058         * MODULES.html.sh: New module mpsort.
6059         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
6060
6061         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
6062         a circularity problem with HP-UX ia64 reported by Bob Proulx in
6063         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
6064         All uses changed.
6065         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
6066         All uses changed.
6067         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
6068         to _Restrict_.
6069         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
6070         the parameter matches the prototype.
6071
6072 2007-01-28  Jim Meyering  <jim@meyering.net>
6073
6074         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
6075         sys/time.h here, reverting that part of the previous patch:
6076         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
6077
6078 2007-01-28  Bruno Haible  <bruno@clisp.org>
6079
6080         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
6081         value of $(SYS_TIME_H).
6082         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
6083         remove it conditionally, too. [added by Jim Meyering]
6084         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
6085         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
6086         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
6087         GETTIMEOFDAY_REPLACEMENT to 1.
6088
6089 2007-01-28  Bruno Haible  <bruno@clisp.org>
6090
6091         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
6092         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
6093         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
6094         Set UNISTD_H instead of UNISTD_H2.
6095         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
6096
6097 2007-01-28  Bruno Haible  <bruno@clisp.org>
6098
6099         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
6100         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
6101
6102 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6103
6104         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
6105         (func_create_testdir): Ensure C locale for `grep' and `tr'
6106         character ranges.
6107         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
6108         ACLOCAL_AMFLAGS parsing state machine.
6109
6110 2007-01-27  Bruno Haible  <bruno@clisp.org>
6111
6112         * modules/unistr/base: Update.
6113
6114 2007-01-27  Bruno Haible  <bruno@clisp.org>
6115
6116         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
6117         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
6118         * modules/unistr/u32-mbtouc-unsafe: Renamed from
6119         modules/unistr/u32-mbtouc.
6120         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
6121         * lib/unistr.h: Update.
6122         * lib/linebreak.c: Update.
6123         * modules/unistr/u32-mbtouc: Renamed from
6124         modules/unistr/u32-mbtouc-safe.
6125         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
6126         * lib/unistr.h: Update.
6127         * lib/unistr/u32-to-u8.c: Update.
6128         * lib/unistr/u32-to-u16.c: Update.
6129
6130 2007-01-27  Bruno Haible  <bruno@clisp.org>
6131
6132         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
6133         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
6134         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
6135         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
6136         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
6137         * modules/unistr/u16-mbtouc-unsafe: Renamed from
6138         modules/unistr/u16-mbtouc.
6139         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
6140         * lib/unistr.h: Update.
6141         * lib/linebreak.c: Update.
6142         * modules/linebreak: Update.
6143         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
6144         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
6145         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
6146         * modules/unistr/u16-mbtouc: Renamed from
6147         modules/unistr/u16-mbtouc-safe.
6148         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
6149         * lib/unistr.h: Update.
6150         * lib/unistr/u16-to-u8.c: Update.
6151         * modules/unistr/u16-to-u8: Update.
6152         * lib/unistr/u16-to-u32.c: Update.
6153         * modules/unistr/u16-to-u32: Update.
6154
6155 2007-01-27  Bruno Haible  <bruno@clisp.org>
6156
6157         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
6158         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
6159         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
6160         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
6161         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
6162         * modules/unistr/u8-mbtouc-unsafe: Renamed from
6163         modules/unistr/u8-mbtouc.
6164         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
6165         * lib/unistr.h: Update.
6166         * lib/striconveh.c: Update.
6167         * modules/striconveh: Update.
6168         * lib/linebreak.c: Update.
6169         * modules/linebreak: Update.
6170         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
6171         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
6172         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
6173         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
6174         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
6175         * lib/unistr.h: Update.
6176         * lib/striconveh.c: Update.
6177         * modules/striconveh: Update.
6178         * lib/unistr/u8-to-u16.c: Update.
6179         * modules/unistr/u8-to-u16: Update.
6180         * lib/unistr/u8-to-u32.c: Update.
6181         * modules/unistr/u8-to-u32: Update.
6182
6183 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6184
6185         Sync from Libtool.
6186         * lib/argz.c: Do not include strings.h nor memory.h, include
6187         string.h unconditionally.  Patch by Simon Josefsson.
6188
6189 2007-01-27  Bruno Haible  <bruno@clisp.org>
6190
6191         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
6192         from gl_HEADER_STRING_H_BODY.
6193         (gl_HEADER_STRING_H_BODY): Require it.
6194         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
6195         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
6196         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
6197         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
6198         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
6199         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
6200         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
6201         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
6202         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
6203         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
6204         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
6205         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
6206         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
6207         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
6208         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
6209
6210 2007-01-27  Bruno Haible  <bruno@clisp.org>
6211
6212         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
6213         check_PROGRAMS into noinst_PROGRAMS.
6214         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
6215         check_PROGRAMS in this case.
6216         (func_import): Set for_test to false.
6217         (func_create_testdir): Set for_test to true.
6218
6219 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
6220             Bruno Haible  <bruno@clisp.org>
6221
6222         * modules/strcasestr (Files): Remove lib/strcasestr.h.
6223         (Depends-on): Add string.
6224         (Includes): Use <string.h> instead of strcasestr.h.
6225         * modules/string (Makefile.am): Also substitute the value of
6226         REPLACE_STRCASESTR.
6227         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
6228         assume strcasestr is declared in <string.h> not <strings.h>. Also
6229         set REPLACE_STRCASESTR.
6230         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
6231         REPLACE_STRCASESTR.
6232         * lib/strcasestr.h: Remove file.
6233         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
6234         * lib/string_.h (strcasestr): New declaration.
6235
6236 2007-01-27  Bruno Haible  <bruno@clisp.org>
6237
6238         * lib/string_.h: Use 'extern'.
6239
6240 2007-01-27  Jim Meyering  <jim@meyering.net>
6241
6242         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
6243         of set-but-not-used local, "q".
6244
6245         * lib/mempcpy.c: Include <config.h> before <string.h>.
6246         This fixes a compilation error on HP-UX, due to the system's
6247         "restrict"-using mempcpy prototype.
6248
6249 2007-01-26  Bruno Haible  <bruno@clisp.org>
6250
6251         Small optimization.
6252         * lib/javacomp.c: Include c-strstr.h.
6253          (is_envjavac_gcj): Use c_strstr instead of strstr.
6254         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
6255
6256 2007-01-26  Bruno Haible  <bruno@clisp.org>
6257
6258         * MODULES.html.sh (Unicode string functions): Add the new modules.
6259
6260         * modules/uniconv/u32-strconv-to-locale: New file.
6261         * lib/uniconv/u32-strconv-to-locale.c: New file.
6262
6263         * modules/uniconv/u16-strconv-to-locale: New file.
6264         * lib/uniconv/u16-strconv-to-locale.c: New file.
6265
6266         * modules/uniconv/u8-strconv-to-locale: New file.
6267         * lib/uniconv/u8-strconv-to-locale.c: New file.
6268
6269         * modules/uniconv/u32-strconv-from-locale: New file.
6270         * lib/uniconv/u32-strconv-from-locale.c: New file.
6271
6272         * modules/uniconv/u16-strconv-from-locale: New file.
6273         * lib/uniconv/u16-strconv-from-locale.c: New file.
6274
6275         * modules/uniconv/u8-strconv-from-locale: New file.
6276         * lib/uniconv/u8-strconv-from-locale.c: New file.
6277
6278         * modules/uniconv/u32-strconv-to-enc: New file.
6279         * lib/uniconv/u32-strconv-to-enc.c: New file.
6280         * modules/uniconv/u32-strconv-to-enc-tests: New file.
6281         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
6282
6283         * modules/uniconv/u16-strconv-to-enc: New file.
6284         * lib/uniconv/u16-strconv-to-enc.c: New file.
6285         * lib/uniconv/u-strconv-to-enc.h: New file.
6286         * modules/uniconv/u16-strconv-to-enc-tests: New file.
6287         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
6288
6289         * modules/uniconv/u8-strconv-to-enc: New file.
6290         * lib/uniconv/u8-strconv-to-enc.c: New file.
6291         * modules/uniconv/u8-strconv-to-enc-tests: New file.
6292         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
6293
6294         * modules/uniconv/u32-strconv-from-enc: New file.
6295         * lib/uniconv/u32-strconv-from-enc.c: New file.
6296         * modules/uniconv/u32-strconv-from-enc-tests: New file.
6297         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
6298
6299         * modules/uniconv/u16-strconv-from-enc: New file.
6300         * lib/uniconv/u16-strconv-from-enc.c: New file.
6301         * modules/uniconv/u16-strconv-from-enc-tests: New file.
6302         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
6303
6304         * modules/uniconv/u8-strconv-from-enc: New file.
6305         * lib/uniconv/u8-strconv-from-enc.c: New file.
6306         * lib/uniconv/u-strconv-from-enc.h: New file.
6307         * modules/uniconv/u8-strconv-from-enc-tests: New file.
6308         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
6309
6310         * modules/uniconv/u32-conv-from-enc: New file.
6311         * lib/uniconv/u32-conv-from-enc.c: New file.
6312         * modules/uniconv/u32-conv-from-enc-tests: New file.
6313         * tests/uniconv/test-u32-conv-from-enc.c: New file.
6314
6315         * modules/uniconv/u16-conv-from-enc: New file.
6316         * lib/uniconv/u16-conv-from-enc.c: New file.
6317         * lib/uniconv/u-conv-from-enc.h: New file.
6318         * modules/uniconv/u16-conv-from-enc-tests: New file.
6319         * tests/uniconv/test-u16-conv-from-enc.c: New file.
6320
6321         * modules/uniconv/u8-conv-from-enc: New file.
6322         * lib/uniconv/u8-conv-from-enc.c: New file.
6323         * modules/uniconv/u8-conv-from-enc-tests: New file.
6324         * tests/uniconv/test-u8-conv-from-enc.c: New file.
6325
6326         * modules/uniconv/base: New file.
6327         * lib/uniconv.h: New file.
6328
6329 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
6330
6331         * doc/gnulib-tool.texi (Initial import): Update to match current
6332         behavior with strdup module.
6333         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
6334         * lib/memmem.h: Remove; all uses removed.  This is now done
6335         by <string.h>.
6336         * lib/mempcpy.h: Likewise.
6337         * lib/memrchr.h: Likewise.
6338         * lib/stpcpy.h: Likewise.
6339         * lib/stpncpy.h: Likewise.
6340         * lib/strcase.h: Likewise.
6341         * lib/strchrnul.h: Likewise.
6342         * lib/strdup.h: Likewise.
6343         * lib/strndup.h: Likewise.
6344         * lib/strnlen.h: Likewise.
6345         * lib/strpbrk.h: Likewise.
6346         * lib/strsep.h: Likewise.
6347         * lib/strstr.h: Likewise.
6348         * lib/strtok_r.h: Likewise.
6349         * lib/string_.h: New file.
6350         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
6351         Rely on <string.h> instead.
6352         * lib/canon-host.c: Likewise.
6353         * lib/chdir-long.c: Likewise.
6354         * lib/concatpath.c: Likewise.
6355         * lib/exclude.c: Likewise.
6356         * lib/fchdir.c: Likewise.
6357         * lib/getaddrinfo.c: Likewise.
6358         * lib/getcwd.c: Likewise.
6359         * lib/getsubopt.c: Likewise.
6360         * lib/glob.c: Likewise.
6361         * lib/hard-locale.c: Likewise.
6362         * lib/iconvme.c: Likewise.
6363         * lib/javacomp.c: Likewise.
6364         * lib/mempcpy.c: Likewise.
6365         * lib/memrchr.c: Likewise.
6366         * lib/regex_internal.h: Likewise.
6367         * lib/stpncpy.c: Likewise.
6368         * lib/strcasecmp.c: Likewise.
6369         * lib/strchrnul.c: Likewise.
6370         * lib/strdup.c: Likewise.
6371         * lib/striconv.c: Likewise.
6372         * lib/striconveh.c: Likewise.
6373         * lib/striconveha.c: Likewise.
6374         * lib/strncasecmp.c: Likewise.
6375         * lib/strndup.c: Likewise.
6376         * lib/strnlen.c: Likewise.
6377         * lib/strsep.c: Likewise.
6378         * lib/strstr.c: Likewise.
6379         * lib/strtok_r.c: Likewise.
6380         * lib/userspec.c: Likewise.
6381         * lib/w32spawn.h: Likewise.
6382         * lib/xstrndup.c: Likewise.
6383         * lib/mountlist.c (strstr): Remove decl.
6384         * m4/string_h.m4: New file.
6385         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
6386         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
6387         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
6388         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
6389         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
6390         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
6391         Set REPLACE_STRCASECMP if necessary.
6392         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
6393         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
6394         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
6395         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
6396         HAVE_DECL_STRDUP if necessary.
6397         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
6398         since gl_FUNC_STRNDUP does that now.
6399         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
6400         Check for decl here...
6401         (gl_PREREQ_STRNLEN): ... not here.
6402         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
6403         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
6404         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
6405         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
6406         necessary.
6407         * modules/string: New file.
6408         * modules/memmem (Files): Remove special-purpose include file.
6409         (Depends-on): Add string.
6410         (Include): Include <string.h>, not the removed file.
6411         * modules/mempcpy: Likewise.
6412         * modules/memrchr: Likewise.
6413         * modules/stpcpy: Likewise.
6414         * modules/stpncpy: Likewise.
6415         * modules/strcase: Likewise.
6416         * modules/strchrnul: Likewise.
6417         * modules/strdup: Likewise.
6418         * modules/strndup: Likewise.
6419         * modules/strnlen: Likewise.
6420         * modules/strpbrk: Likewise.
6421         * modules/strsep: Likewise.
6422         * modules/strstr: Likewise.
6423         * modules/strtok_r: Likewise.
6424         * tests/test-dirname.c: Don't include "strdup.h", since
6425         <string.h> now suffices.
6426         * tests/test-memmem.c: Don't include "memmem.h", since
6427         <string.h> now suffices.
6428
6429 2007-01-25  Bruno Haible  <bruno@clisp.org>
6430
6431         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
6432         *resultp is 0.
6433
6434         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
6435         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
6436         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
6437         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
6438
6439         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
6440         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
6441         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
6442         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
6443         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
6444         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
6445
6446 2007-01-24  Bruno Haible  <bruno@clisp.org>
6447
6448         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
6449         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
6450         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
6451         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
6452         gl_FUNC_FTS_CORE.
6453         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
6454         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
6455         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
6456         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
6457         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
6458         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
6459         gl_FUNC_FCHOWNAT.
6460         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
6461         gl_FUNC_STRFTIME.
6462         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
6463         Reported by Ralf Wildenhues.
6464
6465 2007-01-24  Bruno Haible  <bruno@clisp.org>
6466
6467         Drop AC_REQUIRE calls that are redundant with the module dependencies.
6468         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
6469         gl_GETADDRINFO.
6470         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
6471         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
6472         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
6473
6474 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
6475
6476         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
6477         Don't use 'exit'; just return from 'main'.
6478         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
6479
6480         * lib/fnmatch_.h: Readjust white space and comments to match
6481         glibc, to avoid spurious diffs.
6482
6483 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
6484
6485         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
6486         2004-12-01 change by Jakub Jelinek, since this code won't compile
6487         if !LIBC.  Problem reported by Bob Proulx.
6488
6489 2007-01-23  Bruno Haible  <bruno@clisp.org>
6490
6491         * lib/striconveh.c: Include c-strcaseeq.h.
6492         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
6493         * modules/striconveh (Depends-on): Add c-strcaseeq.
6494
6495 2007-01-23  Bruno Haible  <bruno@clisp.org>
6496
6497         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
6498
6499         * modules/c-strcaseeq: New file.
6500         * lib/c-strcaseeq.h: New file.
6501
6502         * modules/streq: New file.
6503         * lib/streq.h: New file.
6504
6505 2007-01-23  Bruno Haible  <bruno@clisp.org>
6506
6507         * modules/striconveha-tests: New file.
6508         * tests/test-striconveha.c: New file.
6509
6510         * lib/striconveha.h: Include <stdbool.h>.
6511         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
6512         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
6513         (mem_iconveha_notranslit): Renamed from mem_iconveha.
6514         (mem_iconveha): New function.
6515         (str_iconveha_notranslit): Renamed from str_iconveha.
6516         (str_iconveha): New function.
6517         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
6518         c-strcase.
6519
6520 2007-01-23  Bruno Haible  <bruno@clisp.org>
6521
6522         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
6523         encodings without forgiving before trying any encoding with handler.
6524         (str_iconveha): Try all encodings without forgiving before trying any
6525         encoding with handler.
6526
6527 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
6528
6529         Import the following changes from libc.
6530
6531         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
6532
6533         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
6534
6535         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
6536
6537         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
6538         normal_bracket label.
6539
6540         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
6541
6542         [BZ #361]
6543         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
6544         to normal_bracket after fetching the next character.
6545
6546 2007-01-22  Bruno Haible  <bruno@clisp.org>
6547
6548         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
6549         argument.
6550         * lib/striconveh.c (iconv_carefully_1): New function.
6551         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
6552         argument.
6553         (str_cd_iconveh): Update.
6554         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
6555         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
6556         * tests/test-striconveh.c (MAGIC): New macro.
6557         (new_offsets): New function.
6558         (main): Test call with and without offsets.
6559
6560 2007-01-22  Bruno Haible  <bruno@clisp.org>
6561
6562         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
6563         * modules/sys_select (Makefile.am): Likewise.
6564         * modules/sys_socket (Makefile.am): Likewise.
6565         * modules/sys_time (Makefile.am): Likewise.
6566
6567 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
6568
6569         * modules/gettimeofday (License): Change from GPL to LGPL, since
6570         gettimeofday is a library function.
6571
6572 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
6573
6574         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
6575
6576 2007-01-21  Bruno Haible  <bruno@clisp.org>
6577
6578         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
6579
6580 2007-01-21  Bruno Haible  <bruno@clisp.org>
6581
6582         * modules/striconveha: New file.
6583         * lib/striconveha.h: New file.
6584         * lib/striconveha.c: New file.
6585         * MODULES.html.sh (Internationalization functions): Add striconveha.
6586         * lib/striconv.c (str_iconv): Optimize the case of an empty input
6587         string.
6588         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
6589
6590 2007-01-21  Bruno Haible  <bruno@clisp.org>
6591
6592         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
6593         * lib/striconveh.c (str_iconveh): Likewise.
6594
6595 2007-01-21  Bruno Haible  <bruno@clisp.org>
6596
6597         * lib/striconveh.h (mem_iconveh): New declaration.
6598         * lib/striconveh.c (mem_iconveh): New function.
6599         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
6600
6601 2007-01-21  Bruno Haible  <bruno@clisp.org>
6602
6603         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
6604
6605         * lib/striconveh.h (mem_cd_iconveh): Change specification.
6606         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
6607         original result buffer.
6608         (str_cd_iconveh): Update.
6609         * tests/test-striconveh.c (main): Update.
6610
6611         * lib/striconv.h (mem_cd_iconv): Change specification.
6612         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
6613         result buffer.
6614         (str_cd_iconv): Update.
6615         * tests/test-striconv.c (main): Update.
6616
6617 2007-01-21  Bruno Haible  <bruno@clisp.org>
6618
6619         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
6620
6621 2007-01-20  Jim Meyering  <jim@meyering.net>
6622
6623         * lib/userspec.c (parse_with_separator): If a user or group string
6624         starts with "+", skip the corresponding name-to-ID look-up, since
6625         such a look-up must fail: user and group names may not include "+".
6626
6627 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
6628
6629         * lib/poll.c: Include sys/time.h and time.h unconditionally,
6630         since we now assume the sys_time module.
6631         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
6632         check for sys/time.h; no longer needed.
6633         * modules/poll (Depends-on): Depend on sys_time.
6634
6635 2007-01-18  Bruno Haible  <bruno@clisp.org>
6636
6637         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
6638         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
6639
6640         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
6641         gettimeofday.
6642
6643         * tests/test-gettimeofday.c: Include <time.h>.
6644         (dummy): Remove variable.
6645
6646         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
6647         gl_HEADER_SYS_TIME_H.
6648         (gl_HEADER_SYS_TIME_H): New macro.
6649
6650         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
6651         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
6652         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
6653         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
6654         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
6655         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
6656         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
6657         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
6658         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
6659         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
6660         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
6661
6662         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
6663         last change; it caused a compilation error when cross-compiling to
6664         Cygwin.
6665
6666 2007-01-18  Jim Meyering  <jim@meyering.net>
6667
6668         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
6669         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
6670         than the race-prone "test -d sys || mkdir sys".
6671         (configure.ac): Use AC_PROG_MKDIR_P.
6672         * modules/sys_select: Likewise.
6673         * modules/sys_socket: Likewise.
6674         * modules/sys_time: Likewise.
6675
6676 2007-01-18  Eric Blake  <ebb9@byu.net>
6677
6678         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
6679         replace gettimeofday.
6680         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
6681         name, to avoid infinite recursion.
6682
6683 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
6684
6685         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
6686         module sys_time.
6687         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
6688         assume timespec.h defines struct timeval.
6689         * lib/settime.c: Likewise.
6690         * lib/utimens.c: Likewise.
6691         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
6692         since we now assume the gettimeofday module.
6693         * lib/tempname.c (__gen_tempname): Likewise.
6694         * lib/gettimeofday.h: Remove.
6695         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
6696         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
6697         Include <time.h>, for 'time()'.
6698         (localtime_buffer_addr): Also use this workaround if
6699         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
6700         to simplify the uses.  All uses changed.
6701         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
6702         that #undef is inside {}, and 'const' follows type name consistently.
6703         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
6704         (gettimeofday): Do not use the maximum possible value for
6705         tv->tv_usec, since that might break usages other than ls.c.
6706         Instead, we'll leave ls.c alone.  This undoes today's patch
6707         by Bruno.  Add a compile-time warning for 1s-clock resolution;
6708         we've never observed the problem but might as well keep the
6709         canary.
6710         * lib/nanosleep.c: Include timespec.h first, for interface check.
6711         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
6712         now assume the sys_time module.
6713         * lib/tempname.c: Likewise.
6714         * lib/timespec.h: Likewise.
6715         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
6716         needed.
6717         * lib/strftime.c: Likewise.
6718         * lib/timespec.h: Likewise.
6719         * lib/posixtm.c: Include posixtm.h first, for interface check.
6720         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
6721         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
6722         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
6723         * lib/sys_time_.h: New file.
6724         * lib/timespec.h (struct timespec): Use long int, not long.
6725         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
6726         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
6727         Remove obsolescent call to AC_HEADER_TIME.
6728         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
6729         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6730         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
6731         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
6732         Likewise.
6733         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
6734         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
6735         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
6736         into the sys_time module.  Check for gettimeofday just once.
6737         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
6738         for gettimeofday signature to just check the signature.  Merely
6739         compile it, since linking doesn't test signature.  Improve test for
6740         whether gettimeofday.o is actually needed.
6741         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
6742         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
6743         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
6744         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
6745         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
6746         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
6747         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
6748         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
6749         than worrying about sys/time.h.
6750         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
6751         Don't bother worrying about TIME_WITH_SYS_TIME.
6752         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
6753         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
6754         * m4/sys_time_h.m4: New file.
6755         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
6756         Don't include sys/time.h.  Return from main rather than exiting.
6757         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
6758         all uses changed.
6759         * modules/gethrxtime (Depends-on): Add sys_time.
6760         * modules/gettime (Depends-on): Likewise.
6761         * modules/gettimeofday (Depends-on): Likewise.
6762         * modules/nanosleep (Depends-on): Likewise.
6763         * modules/settime (Depends-on): Likewise.
6764         * modules/tempname (Depends-on): Likewise.
6765         * modules/utimens (Depends-on): Likewise.
6766         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
6767         (Include:) Change back to <sys/time.h>.
6768         (Maintainer:) Add self.
6769         * modules/sys_time: New file.
6770         * modules/tempname (Depends-on): Add gettimeofday.
6771         * tests/test-gettimeofday.c: Include <sys/time.h>
6772         rather than gettimeofday.h.
6773
6774 2007-01-17  Bruno Haible  <bruno@clisp.org>
6775
6776         * gnulib-tool (func_get_license): Revert last patch. Instead, let
6777         the license default to GPL.
6778         (func_create_testdir): Don't complain if a module is LGPL and its
6779         tests module depends on GPLed modules.
6780
6781 2007-01-17  Bruno Haible  <bruno@clisp.org>
6782
6783         * lib/gettimeofday.c (gettimeofday): Add code for the case
6784         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
6785         maximum possible value for tv->tv_usec, rather than the minimum one.
6786
6787 2005-10-08  Martin Lambers  <marlam@marlam.de>
6788 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
6789 2007-01-16  Bruno Haible  <bruno@clisp.org>
6790
6791         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
6792         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
6793         gl_FUNC_GETTIMEOFDAY.
6794         (Include): Add gettimeofday.h.
6795         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
6796         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
6797         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
6798         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
6799         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
6800         * lib/gettimeofday.h: New file.
6801         * lib/gettimeofday.c: Include <sys/timeb.h>.
6802         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
6803         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
6804         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
6805         fall back on time().
6806
6807         * tests/test-gettimeofday.c: New file.
6808         * modules/gettimeofday-tests: New file.
6809
6810 2007-01-16  Eric Blake  <ebb9@byu.net>
6811
6812         * modules/fnmatch (Depends-on): Depend on wchar.
6813         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
6814         * m4/fnmatch.m4: Likewise.
6815         * modules/mbchar (Makefile.am): Assume <wchar.h>.
6816         * m4/mbchar.m4: Likewise.
6817         * modules/mbswidth (Depends-on): Depend on wchar.
6818         * lib/mbswidth.c: Assume <wchar.h>.
6819         * m4/mbswidth.m4: Likewise.
6820         * modules/quotearg (Depends-on): Depend on wchar.
6821         * lib/quotearg.c: Assume <wchar.h>.
6822         * m4/quotearg.m4: Likewise.
6823         * modules/regex (Depends-on): Depend on wchar.
6824         * lib/regex_internal.h: Assume <wchar.h>.
6825         * m4/regex.m4: Likewise.
6826         * modules/stdint (Depends-on): Depend on wchar.
6827         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
6828         * m4/stdint.m4: Likewise.
6829         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
6830         * modules/strftime (Depends-on): Depend on wchar.
6831         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
6832         * modules/strtol (Depends-on): Depend on wchar.
6833         * lib/strtol.c: Assume <wchar.h>.
6834         * modules/wcwidth (Depends-on): Depend on wchar.
6835         * lib/wcwidth.h: Assume <wchar.h>.
6836         * m4/wcwidth.m4: Likewise.
6837
6838 2007-01-16  Bruno Haible  <bruno@clisp.org>
6839
6840         * modules/csharpexec-script: New, created from...
6841         * modules/csharpexec: ... this.
6842
6843 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
6844
6845         * modules/javaexec-script: New, created from...
6846         * modules/javaexec: ... this.
6847
6848 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
6849
6850         * modules/poll (Dependencies): Add sys_select.
6851
6852 2007-01-15  Jim Meyering  <jim@meyering.net>
6853
6854         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
6855         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
6856         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
6857         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
6858
6859 2007-01-15  Bruno Haible  <bruno@clisp.org>
6860
6861         * modules/striconveh: New file.
6862         * lib/striconveh.h: New file.
6863         * lib/striconveh.c: New file.
6864         * MODULES.html.sh (Internationalization functions): Add striconveh.
6865
6866         * modules/striconveh-tests: New file.
6867         * tests/test-striconveh.c: New file.
6868
6869 2007-01-15  Bruno Haible  <bruno@clisp.org>
6870
6871         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
6872         not from GNU libiconv or GNU libc.
6873
6874 2007-01-15  Bruno Haible  <bruno@clisp.org>
6875
6876         * doc/gnulib-intro.texi (Copyright): Explain the different license
6877         terms for module descriptions, autoconf macros, tests, documentation.
6878
6879 2007-01-14  Bruno Haible  <bruno@clisp.org>
6880
6881         * modules/striconv-tests: New file.
6882         * tests/test-striconv.c: New file.
6883
6884 2007-01-14  Bruno Haible  <bruno@clisp.org>
6885
6886         * modules/iconv-tests: New file.
6887         * tests/test-iconv.c: New file.
6888
6889 2007-01-14  Bruno Haible  <bruno@clisp.org>
6890
6891         * gnulib-tool (func_get_license): For test modules, use the license of
6892         the main module.
6893
6894 2007-01-14  Bruno Haible  <bruno@clisp.org>
6895
6896         * modules/iconv (Include): Clarify that <iconv.h> can only be included
6897         if iconv is found to exist.
6898
6899 2007-01-14  Bruno Haible  <bruno@clisp.org>
6900
6901         * modules/c-ctype-tests: New file.
6902         * tests/test-c-ctype.c: New file.
6903
6904 2007-01-14  Bruno Haible  <bruno@clisp.org>
6905
6906         * modules/binary-io-tests: New file.
6907         * tests/test-binary-io.sh: New file.
6908         * tests/test-binary-io.c: New file.
6909
6910 2007-01-14  Bruno Haible  <bruno@clisp.org>
6911
6912         * modules/array-oset-tests: New file.
6913         * tests/test-array_oset.c: New file.
6914
6915 2007-01-14  Bruno Haible  <bruno@clisp.org>
6916
6917         * modules/array-list-tests: New file.
6918         * tests/test-array_list.c: New file.
6919
6920 2007-01-14  Bruno Haible  <bruno@clisp.org>
6921
6922         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
6923         and make.
6924         Reported by Simon Josefsson in
6925         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
6926
6927 2007-01-14  Bruno Haible  <bruno@clisp.org>
6928
6929         * modules/allocsa-tests: New file.
6930         * tests/test-allocsa.c: New file.
6931
6932 2007-01-14  Bruno Haible  <bruno@clisp.org>
6933
6934         * modules/fchdir (Depends-on): Add absolute-header.
6935         * modules/unistd (Depends-on): Likewise.
6936
6937 2006-12-30  Bruno Haible  <bruno@clisp.org>
6938
6939         * modules/fchdir: New file.
6940         * modules/unistd (Files): Add lib/unistd_.h.
6941         (Makefile.am): Generate unistd.h from unistd_.h.
6942         * lib/fchdir.c: New file.
6943         * lib/dirent_.h: New file.
6944         * lib/unistd_.h: New file.
6945         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
6946         * m4/fchdir.m4: New file.
6947         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
6948         (gl_HEADER_UNISTD): Invoke it.
6949         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
6950         function.
6951         * lib/backupfile.c (opendir, closedir): Undefine.
6952         * lib/chown.c (open, close): Undefine.
6953         * lib/clean-temp.c (open, close): Undefine.
6954         * lib/copy-file.c (open, close): Undefine.
6955         * lib/execute.c (open, close): Undefine.
6956         * lib/fsusage.c (open, close): Undefine.
6957         * lib/gc-gnulib.c (open, close): Undefine.
6958         * lib/getcwd.c (opendir, closedir): Undefine.
6959         * lib/glob.c (opendir, closedir): Undefine.
6960         * lib/javacomp.c (open, close): Undefine.
6961         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
6962         * lib/openat-proc.c (open, close): Undefine.
6963         * lib/pagealign_alloc.c (open, close): Undefine.
6964         * lib/pipe.c (open, close): Undefine.
6965         * lib/progreloc.c (open, close): Undefine.
6966         * lib/savedir.c (opendir, closedir): Undefine.
6967         * lib/utime.c (open, close): Undefine.
6968         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
6969
6970 2007-01-10  Bruno Haible  <bruno@clisp.org>
6971
6972         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
6973
6974 2007-01-12  Eric Blake  <ebb9@byu.net>
6975
6976         Provide a robust <wchar.h>.  Further simplifications are now
6977         possible in other modules, but not included here.
6978         * modules/wchar: New module.
6979         * m4/wchar.m4: New file.
6980         * lib/wchar_.h: Likewise.
6981         * modules/mbchar (Depends-on): Depend on wchar, as the first use
6982         of the new module.
6983         * MODULES.html.sh (Extended multibyte and wide character utilities):
6984         New section.
6985
6986 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
6987
6988         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
6989         to a reasonable default for memory allocation.
6990         (xreadlink): Don't allocate a huge buffer, to work around a buggy
6991         file system that reports garbage st_size values for symlinks.
6992         Problem reported by Liyang Hu.
6993
6994 2007-01-11  Simon Josefsson  <simon@josefsson.org>
6995
6996         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
6997         Emacs .#* auto-save files).
6998
6999 2007-01-11  Bruno Haible  <bruno@clisp.org>
7000
7001         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
7002         directory.
7003
7004 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7005
7006         Use @...@ consistently in lib/wctype_.h.
7007         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
7008         on it being set to 1 or 0.
7009         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
7010         go back to AC_SUBSTing it.
7011         * modules/wctype (Makefile.am): Undo previous change.
7012
7013 2007-01-10  Eric Blake  <ebb9@byu.net>
7014
7015         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
7016         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
7017         * modules/wctype (Makefile.am): Likewise.
7018         Reported by Chris McGuire.
7019
7020 2007-01-10  Jim Meyering  <jim@meyering.net>
7021
7022         fts.c: a small readability/maintainability improvement
7023         * lib/fts.c (fts_read): Make this code slightly more readable and
7024         maintainable by hoisting the "sp->fts_cur = p" assignments to
7025         immediately follow the statements that set P.  Derived from
7026         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
7027
7028 2007-01-10  Eric Blake  <ebb9@byu.net>
7029
7030         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
7031         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
7032         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
7033         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
7034         Reported by Chris McGuire.
7035
7036 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7037
7038         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
7039         in sed script.
7040
7041 2007-01-09  Bruno Haible  <bruno@clisp.org>
7042
7043         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
7044         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
7045         variables.
7046         (func_module): Use them.
7047
7048 2007-01-09  Bruno Haible  <bruno@clisp.org>
7049
7050         * modules/unistr/base: New file.
7051         * lib/unistr.h: New file.
7052
7053         * modules/unistr/u8-to-u16: New file.
7054         * lib/unistr/u8-to-u16.c: New file.
7055
7056         * modules/unistr/u8-to-u32: New file.
7057         * lib/unistr/u8-to-u32.c: New file.
7058
7059         * modules/unistr/u16-to-u8: New file.
7060         * lib/unistr/u16-to-u8.c: New file.
7061
7062         * modules/unistr/u16-to-u32: New file.
7063         * lib/unistr/u16-to-u32.c: New file.
7064
7065         * modules/unistr/u32-to-u8: New file.
7066         * lib/unistr/u32-to-u8.c: New file.
7067
7068         * modules/unistr/u32-to-u16: New file.
7069         * lib/unistr/u32-to-u16.c: New file.
7070
7071         * modules/unistr/u8-check: New file.
7072         * modules/unistr/u16-check: New file.
7073         * modules/unistr/u32-check: New file.
7074         * lib/unistr/u8-check.c: New file.
7075         * lib/unistr/u16-check.c: New file.
7076         * lib/unistr/u32-check.c: New file.
7077
7078         * modules/unistr/u8-chr: New file.
7079         * modules/unistr/u16-chr: New file.
7080         * modules/unistr/u32-chr: New file.
7081         * lib/unistr/u8-chr.c: New file.
7082         * lib/unistr/u16-chr.c: New file.
7083         * lib/unistr/u32-chr.c: New file.
7084
7085         * modules/unistr/u8-cmp: New file.
7086         * modules/unistr/u16-cmp: New file.
7087         * modules/unistr/u32-cmp: New file.
7088         * lib/unistr/u8-cmp.c: New file.
7089         * lib/unistr/u16-cmp.c: New file.
7090         * lib/unistr/u32-cmp.c: New file.
7091
7092         * modules/unistr/u8-cpy: New file.
7093         * modules/unistr/u16-cpy: New file.
7094         * modules/unistr/u32-cpy: New file.
7095         * lib/unistr/u8-cpy.c: New file.
7096         * lib/unistr/u16-cpy.c: New file.
7097         * lib/unistr/u32-cpy.c: New file.
7098         * lib/unistr/u-cpy.h: New file.
7099
7100         * modules/unistr/u8-cpy-alloc: New file.
7101         * modules/unistr/u16-cpy-alloc: New file.
7102         * modules/unistr/u32-cpy-alloc: New file.
7103         * lib/unistr/u8-cpy-alloc.c: New file.
7104         * lib/unistr/u16-cpy-alloc.c: New file.
7105         * lib/unistr/u32-cpy-alloc.c: New file.
7106         * lib/unistr/u-cpy-alloc.h: New file.
7107
7108         * modules/unistr/u8-endswith: New file.
7109         * modules/unistr/u16-endswith: New file.
7110         * modules/unistr/u32-endswith: New file.
7111         * lib/unistr/u8-endswith.c: New file.
7112         * lib/unistr/u16-endswith.c: New file.
7113         * lib/unistr/u32-endswith.c: New file.
7114         * lib/unistr/u-endswith.h: New file.
7115
7116         * modules/unistr/u8-mblen: New file.
7117         * modules/unistr/u16-mblen: New file.
7118         * modules/unistr/u32-mblen: New file.
7119         * lib/unistr/u8-mblen.c: New file.
7120         * lib/unistr/u16-mblen.c: New file.
7121         * lib/unistr/u32-mblen.c: New file.
7122
7123         * modules/unistr/u8-mbtouc: New file.
7124         * modules/unistr/u16-mbtouc: New file.
7125         * modules/unistr/u32-mbtouc: New file.
7126         * lib/unistr/u8-mbtouc.c: New file.
7127         * lib/unistr/u16-mbtouc.c: New file.
7128         * lib/unistr/u32-mbtouc.c: New file.
7129
7130         * modules/unistr/u8-mbtouc-safe: New file.
7131         * modules/unistr/u16-mbtouc-safe: New file.
7132         * modules/unistr/u32-mbtouc-safe: New file.
7133         * lib/unistr/u8-mbtouc-safe.c: New file.
7134         * lib/unistr/u16-mbtouc-safe.c: New file.
7135         * lib/unistr/u32-mbtouc-safe.c: New file.
7136
7137         * modules/unistr/u8-move: New file.
7138         * modules/unistr/u16-move: New file.
7139         * modules/unistr/u32-move: New file.
7140         * lib/unistr/u8-move.c: New file.
7141         * lib/unistr/u16-move.c: New file.
7142         * lib/unistr/u32-move.c: New file.
7143         * lib/unistr/u-move.h: New file.
7144
7145         * modules/unistr/u8-next: New file.
7146         * modules/unistr/u16-next: New file.
7147         * modules/unistr/u32-next: New file.
7148         * lib/unistr/u8-next.c: New file.
7149         * lib/unistr/u16-next.c: New file.
7150         * lib/unistr/u32-next.c: New file.
7151
7152         * modules/unistr/u8-prev: New file.
7153         * modules/unistr/u16-prev: New file.
7154         * modules/unistr/u32-prev: New file.
7155         * lib/unistr/u8-prev.c: New file.
7156         * lib/unistr/u16-prev.c: New file.
7157         * lib/unistr/u32-prev.c: New file.
7158
7159         * modules/unistr/u8-set: New file.
7160         * modules/unistr/u16-set: New file.
7161         * modules/unistr/u32-set: New file.
7162         * lib/unistr/u8-set.c: New file.
7163         * lib/unistr/u16-set.c: New file.
7164         * lib/unistr/u32-set.c: New file.
7165         * lib/unistr/u-set.h: New file.
7166
7167         * modules/unistr/u8-startswith: New file.
7168         * modules/unistr/u16-startswith: New file.
7169         * modules/unistr/u32-startswith: New file.
7170         * lib/unistr/u8-startswith.c: New file.
7171         * lib/unistr/u16-startswith.c: New file.
7172         * lib/unistr/u32-startswith.c: New file.
7173         * lib/unistr/u-startswith.h: New file.
7174
7175         * modules/unistr/u8-stpcpy: New file.
7176         * modules/unistr/u16-stpcpy: New file.
7177         * modules/unistr/u32-stpcpy: New file.
7178         * lib/unistr/u8-stpcpy.c: New file.
7179         * lib/unistr/u16-stpcpy.c: New file.
7180         * lib/unistr/u32-stpcpy.c: New file.
7181         * lib/unistr/u-stpcpy.h: New file.
7182
7183         * modules/unistr/u8-stpncpy: New file.
7184         * modules/unistr/u16-stpncpy: New file.
7185         * modules/unistr/u32-stpncpy: New file.
7186         * lib/unistr/u8-stpncpy.c: New file.
7187         * lib/unistr/u16-stpncpy.c: New file.
7188         * lib/unistr/u32-stpncpy.c: New file.
7189         * lib/unistr/u-stpncpy.h: New file.
7190
7191         * modules/unistr/u8-strcat: New file.
7192         * modules/unistr/u16-strcat: New file.
7193         * modules/unistr/u32-strcat: New file.
7194         * lib/unistr/u8-strcat.c: New file.
7195         * lib/unistr/u16-strcat.c: New file.
7196         * lib/unistr/u32-strcat.c: New file.
7197         * lib/unistr/u-strcat.h: New file.
7198
7199         * modules/unistr/u8-strchr: New file.
7200         * modules/unistr/u16-strchr: New file.
7201         * modules/unistr/u32-strchr: New file.
7202         * lib/unistr/u8-strchr.c: New file.
7203         * lib/unistr/u16-strchr.c: New file.
7204         * lib/unistr/u32-strchr.c: New file.
7205
7206         * modules/unistr/u8-strcmp: New file.
7207         * modules/unistr/u16-strcmp: New file.
7208         * modules/unistr/u32-strcmp: New file.
7209         * lib/unistr/u8-strcmp.c: New file.
7210         * lib/unistr/u16-strcmp.c: New file.
7211         * lib/unistr/u32-strcmp.c: New file.
7212
7213         * modules/unistr/u8-strcpy: New file.
7214         * modules/unistr/u16-strcpy: New file.
7215         * modules/unistr/u32-strcpy: New file.
7216         * lib/unistr/u8-strcpy.c: New file.
7217         * lib/unistr/u16-strcpy.c: New file.
7218         * lib/unistr/u32-strcpy.c: New file.
7219         * lib/unistr/u-strcpy.h: New file.
7220
7221         * modules/unistr/u8-strcspn: New file.
7222         * modules/unistr/u16-strcspn: New file.
7223         * modules/unistr/u32-strcspn: New file.
7224         * lib/unistr/u8-strcspn.c: New file.
7225         * lib/unistr/u16-strcspn.c: New file.
7226         * lib/unistr/u32-strcspn.c: New file.
7227         * lib/unistr/u-strcspn.h: New file.
7228
7229         * modules/unistr/u8-strdup: New file.
7230         * modules/unistr/u16-strdup: New file.
7231         * modules/unistr/u32-strdup: New file.
7232         * lib/unistr/u8-strdup.c: New file.
7233         * lib/unistr/u16-strdup.c: New file.
7234         * lib/unistr/u32-strdup.c: New file.
7235         * lib/unistr/u-strdup.h: New file.
7236
7237         * modules/unistr/u8-strlen: New file.
7238         * modules/unistr/u16-strlen: New file.
7239         * modules/unistr/u32-strlen: New file.
7240         * lib/unistr/u8-strlen.c: New file.
7241         * lib/unistr/u16-strlen.c: New file.
7242         * lib/unistr/u32-strlen.c: New file.
7243         * lib/unistr/u-strlen.h: New file.
7244
7245         * modules/unistr/u8-strmblen: New file.
7246         * modules/unistr/u16-strmblen: New file.
7247         * modules/unistr/u32-strmblen: New file.
7248         * lib/unistr/u8-strmblen.c: New file.
7249         * lib/unistr/u16-strmblen.c: New file.
7250         * lib/unistr/u32-strmblen.c: New file.
7251
7252         * modules/unistr/u8-strmbtouc: New file.
7253         * modules/unistr/u16-strmbtouc: New file.
7254         * modules/unistr/u32-strmbtouc: New file.
7255         * lib/unistr/u8-strmbtouc.c: New file.
7256         * lib/unistr/u16-strmbtouc.c: New file.
7257         * lib/unistr/u32-strmbtouc.c: New file.
7258
7259         * modules/unistr/u8-strncat: New file.
7260         * modules/unistr/u16-strncat: New file.
7261         * modules/unistr/u32-strncat: New file.
7262         * lib/unistr/u8-strncat.c: New file.
7263         * lib/unistr/u16-strncat.c: New file.
7264         * lib/unistr/u32-strncat.c: New file.
7265         * lib/unistr/u-strncat.h: New file.
7266
7267         * modules/unistr/u8-strncmp: New file.
7268         * modules/unistr/u16-strncmp: New file.
7269         * modules/unistr/u32-strncmp: New file.
7270         * lib/unistr/u8-strncmp.c: New file.
7271         * lib/unistr/u16-strncmp.c: New file.
7272         * lib/unistr/u32-strncmp.c: New file.
7273
7274         * modules/unistr/u8-strncpy: New file.
7275         * modules/unistr/u16-strncpy: New file.
7276         * modules/unistr/u32-strncpy: New file.
7277         * lib/unistr/u8-strncpy.c: New file.
7278         * lib/unistr/u16-strncpy.c: New file.
7279         * lib/unistr/u32-strncpy.c: New file.
7280         * lib/unistr/u-strncpy.h: New file.
7281
7282         * modules/unistr/u8-strnlen: New file.
7283         * modules/unistr/u16-strnlen: New file.
7284         * modules/unistr/u32-strnlen: New file.
7285         * lib/unistr/u8-strnlen.c: New file.
7286         * lib/unistr/u16-strnlen.c: New file.
7287         * lib/unistr/u32-strnlen.c: New file.
7288         * lib/unistr/u-strnlen.h: New file.
7289
7290         * modules/unistr/u8-strpbrk: New file.
7291         * modules/unistr/u16-strpbrk: New file.
7292         * modules/unistr/u32-strpbrk: New file.
7293         * lib/unistr/u8-strpbrk.c: New file.
7294         * lib/unistr/u16-strpbrk.c: New file.
7295         * lib/unistr/u32-strpbrk.c: New file.
7296         * lib/unistr/u-strpbrk.h: New file.
7297
7298         * modules/unistr/u8-strrchr: New file.
7299         * modules/unistr/u16-strrchr: New file.
7300         * modules/unistr/u32-strrchr: New file.
7301         * lib/unistr/u8-strrchr.c: New file.
7302         * lib/unistr/u16-strrchr.c: New file.
7303         * lib/unistr/u32-strrchr.c: New file.
7304
7305         * modules/unistr/u8-strspn: New file.
7306         * modules/unistr/u16-strspn: New file.
7307         * modules/unistr/u32-strspn: New file.
7308         * lib/unistr/u8-strspn.c: New file.
7309         * lib/unistr/u16-strspn.c: New file.
7310         * lib/unistr/u32-strspn.c: New file.
7311         * lib/unistr/u-strspn.h: New file.
7312
7313         * modules/unistr/u8-strstr: New file.
7314         * modules/unistr/u16-strstr: New file.
7315         * modules/unistr/u32-strstr: New file.
7316         * lib/unistr/u8-strstr.c: New file.
7317         * lib/unistr/u16-strstr.c: New file.
7318         * lib/unistr/u32-strstr.c: New file.
7319         * lib/unistr/u-strstr.h: New file.
7320
7321         * modules/unistr/u8-strtok: New file.
7322         * modules/unistr/u16-strtok: New file.
7323         * modules/unistr/u32-strtok: New file.
7324         * lib/unistr/u8-strtok.c: New file.
7325         * lib/unistr/u16-strtok.c: New file.
7326         * lib/unistr/u32-strtok.c: New file.
7327         * lib/unistr/u-strtok.h: New file.
7328
7329         * modules/unistr/u8-uctomb: New file.
7330         * modules/unistr/u16-uctomb: New file.
7331         * modules/unistr/u32-uctomb: New file.
7332         * lib/unistr/u8-uctomb.c: New file.
7333         * lib/unistr/u16-uctomb.c: New file.
7334         * lib/unistr/u32-uctomb.c: New file.
7335
7336         * MODULES.html.sh (Unicode string functions): Add the new modules.
7337
7338 2007-01-08  Bruno Haible  <bruno@clisp.org>
7339
7340         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
7341         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
7342         subdirectories.
7343
7344 2007-01-08  Karl Berry  <karl@gnu.org>
7345
7346         * doc/error.texi: mention that main() fns must set program_name
7347         when progname is used.
7348
7349 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
7350
7351         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
7352         WCTYPE_H is empty, for the benefit of builds from non-distclean
7353         directories.  Problem reported by Eric Blake in
7354         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
7355
7356 2007-01-08  Bruno Haible  <bruno@clisp.org>
7357
7358         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
7359         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
7360         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
7361         PROVIDE_CANONICALIZE_FILENAME_MODE.
7362         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
7363
7364 2007-01-08  Bruno Haible  <bruno@clisp.org>
7365
7366         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
7367         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
7368         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
7369         * lib/fts.c: Likewise.
7370         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
7371
7372 2006-12-25  Bruno Haible  <bruno@clisp.org>
7373
7374         * modules/utf8-ucs4-safe: New file.
7375         * lib/utf8-ucs4-safe.h: New file.
7376         * lib/unistr/utf8-ucs4-safe.c: New file.
7377
7378         * modules/utf16-ucs4-safe: New file.
7379         * lib/utf16-ucs4-safe.h: New file.
7380         * lib/unistr/utf16-ucs4-safe.c: New file.
7381
7382         * MODULES.html.sh (Unicode string functions): Add the new modules.
7383
7384 2007-01-08  Bruno Haible  <bruno@clisp.org>
7385
7386         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
7387         (Depends-on): Add unitypes.
7388         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
7389         (u8_mbtouc_aux): Move out to separate file.
7390         (u8_mbtouc): Use ucs4_t, uint8_t types.
7391         * lib/unistr/utf8-ucs4.c: New file.
7392
7393         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
7394         (Depends-on): Add unitypes.
7395         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
7396         (u16_mbtouc_aux): Move out to separate file.
7397         (u16_mbtouc): Use ucs4_t, uint16_t types.
7398         * lib/unistr/utf16-ucs4.c: New file.
7399
7400         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
7401         (Depends-on): Add unitypes.
7402         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
7403         (u8_uctomb_aux): Move out to separate file.
7404         (u8_uctomb): Use ucs4_t, uint8_t types.
7405         * lib/unistr/ucs4-utf8.c: New file.
7406
7407         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
7408         (Depends-on): Add unitypes.
7409         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
7410         (u16_uctomb_aux): Move out to separate file.
7411         (u16_uctomb): Use ucs4_t, uint16_t types.
7412         * lib/unistr/ucs4-utf16.c: New file.
7413
7414 2006-12-25  Bruno Haible  <bruno@clisp.org>
7415
7416         * modules/unitypes: New file.
7417         * lib/unitypes.h: New file.
7418         * MODULES.html.sh (func_all_modules): New section "Unicode string
7419         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
7420         this section. Add unitypes.
7421
7422 2007-01-08  Bruno Haible  <bruno@clisp.org>
7423
7424         Avoid variable names that conflict with those from libtool.
7425         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
7426         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
7427         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
7428         library_names_spec to acl_library_names_spec, hardcode_* to
7429         acl_hardcode_*.
7430         Reported by Ralf Wildenhues.
7431
7432 2007-01-08  Bruno Haible  <bruno@clisp.org>
7433
7434         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
7435         definition.
7436         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
7437         definition.
7438         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
7439         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
7440         definition.
7441         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
7442         definition.
7443         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
7444         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
7445         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
7446         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
7447         definition.
7448         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
7449         definition.
7450         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
7451         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
7452         GC_USE_<algorithm>.
7453         * lib/gc-libgcrypt.c: Likewise.
7454         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
7455         * modules/gc-arctwo (configure.ac): Likewise.
7456         * modules/gc-des (configure.ac): Likewise.
7457         * modules/gc-hmac-md5 (configure.ac): Likewise.
7458         * modules/gc-hmac-sha1 (configure.ac): Likewise.
7459         * modules/gc-md2 (configure.ac): Likewise.
7460         * modules/gc-md4 (configure.ac): Likewise.
7461         * modules/gc-md5 (configure.ac): Likewise.
7462         * modules/gc-random (configure.ac): Likewise.
7463         * modules/gc-rijndael (configure.ac): Likewise.
7464         * modules/gc-sha1 (configure.ac): Likewise.
7465
7466 2007-01-08  Bruno Haible  <bruno@clisp.org>
7467
7468         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
7469         macro definition.
7470         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
7471         definition.
7472         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
7473         definition.
7474         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
7475         * modules/fcntl-safer (configure.ac): Likewise.
7476         * modules/fopen-safer (configure.ac): Likewise.
7477         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
7478         GNULIB_FWRITEERROR macro definition.
7479
7480 2007-01-08  Bruno Haible  <bruno@clisp.org>
7481
7482         * m4/gnulib-common.m4: New file.
7483         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
7484         (func_get_filelist): Add m4/gnulib-common.m4.
7485
7486 2007-01-08  Bruno Haible  <bruno@clisp.org>
7487
7488         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
7489         command.
7490
7491 2007-01-08  Jim Meyering  <jim@meyering.net>
7492
7493         Use a more robust test for a "can't happen" condition.
7494         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
7495         narrowed the st_size value.  Presuming the "can't happen" condition
7496         is true, that narrowing could conceivably convert an invalid st_size
7497         value into a valid one.  Instead, use a change based on Matthew
7498         Woehlke's original patch.
7499
7500         Slight readability improvement: use an assert-like macro
7501         in place of literal "abort ()" uses.
7502         * lib/fts.c (fts_assert): Define.
7503         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
7504         Use this macro instead of a bare 'abort'.
7505
7506 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
7507
7508         Don't worry about using IRIX 5.3's wctype.h broken definitions;
7509         simply work around them.
7510         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
7511         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
7512         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
7513         declaring.
7514         Don't bother to define as macros, since the standard doesn't require it.
7515         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
7516         longer worry about IRIX 5.3.
7517         (HAVE_WCTYPE_CTMP_BUG): Remove.
7518
7519 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
7520
7521         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
7522         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
7523         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
7524         Problems reported by Georg Schwarz for IRIX 5.3.
7525
7526         * gnulib-tool (autoconf_minversion): Take the maximum version number
7527         found, not the minimum.  Problem reported by James Youngman.
7528
7529 2007-01-03  Karl Berry  <karl@gnu.org>
7530
7531         * doc/error.texi: new file, explaining interaction with progname.
7532         * doc/gnulib.texi: include it.  Update copyright.
7533
7534 2007-01-03  Simon Josefsson  <simon@josefsson.org>
7535
7536         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
7537         AC_CANONICAL_HOST, to improve autobuild outputs.
7538
7539 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
7540             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
7541
7542         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
7543         sockets, server sockets, and other file descriptors.  Count errors
7544         to compute the return value.  Reorder the code a bit to be easier
7545         to follow.  Don't set event bits that were not requested (except
7546         POLLERR and POLLHUP).
7547
7548 2007-01-01  Bruno Haible  <bruno@clisp.org>
7549
7550         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
7551
7552 2007-01-03  Jim Meyering  <jim@meyering.net>
7553
7554         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
7555
7556 2007-01-02  Bruno Haible  <bruno@clisp.org>
7557
7558         * modules/settime (Include): Require timespec.h.
7559         * modules/nanosleep (Include): Likewise.
7560
7561 2007-01-01  Bruno Haible  <bruno@clisp.org>
7562
7563         * gnulib-tool (func_emit_copyright_notice): Bump year.
7564         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
7565
7566 2007-01-01  Bruno Haible  <bruno@clisp.org>
7567
7568         Improve support for OpenBSD.
7569         * build-aux/config.rpath (libname_spec): Export.
7570         (library_names_spec): New variable. Export.
7571         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
7572         library_names_spec from the config.rpath output. Locate shared library
7573         through the name pattern in library_names_spec.
7574
7575 2007-01-01  Eric Blake  <ebb9@byu.net>
7576
7577         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
7578
7579 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
7580
7581         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
7582         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
7583         assume the C locale, and avoid an "eval" that could cause trouble.
7584         Problem with SORT reported by Bob Proulx.
7585
7586         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
7587         Define.  Trivial patch from Henning Nielsen Lund, originally
7588         sent to bug-grep@gnu.org today.
7589
7590 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
7591
7592         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
7593         struct stat.  Problem reported by Henning Nielsen Lund.
7594         * lib/acl.c: Include acl.h first, to check interface.  Don't
7595         bother to include sys/types.h and sys/stat.h again.
7596
7597 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
7598
7599         Import the following change from libc; problem reported by
7600         Sven Verdoolaege.
7601
7602         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
7603
7604         [BZ #1373]
7605         * lib/argp.h: Remove __NTH for __argp_usage inline function.
7606
7607 2006-12-28  Jim Meyering  <jim@meyering.net>
7608
7609         * build-aux/announce-gen: Do not assume that the package
7610         builds any of tar.gz, tar.bz2, and .xdelta files.
7611         Suggestion from Simon Josefsson.
7612
7613 2006-12-28  Simon Josefsson  <simon@josefsson.org>
7614
7615         * modules/announce-gen: New file.
7616
7617 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
7618
7619         * lib/mbchar.h: Just include <wctype.h>; the wctype module
7620         handles its gotchas now.
7621         * lib/mbswidth.c: Likewise.
7622         * lib/wcwidth.h: Likewise.
7623         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
7624         and iswcntrl; the wctype module does this stuff now.
7625         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
7626         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
7627         * modules/mbchar (Depends-on): Add wctype.
7628         * modules/mbswidth (Depends-on): Likewise.
7629         * modules/wcwidth (Depends-on): Likewise.
7630
7631 2006-12-27  Eric Blake  <ebb9@byu.net>
7632
7633         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
7634         module uses more than what <wctype.h> is required to provide.
7635
7636 2006-12-26  Eric Blake  <ebb9@byu.net>
7637
7638         * gnulib-tool (sed_extract_prog): Avoid space-tab.
7639
7640 2006-12-26  Eric Blake  <ebb9@byu.net>
7641
7642         * modules/absolute-header: New module.
7643         * modules/fcntl (Depends-on): Depend on it.
7644         * modules/inttypes (Depends-on): Likewise.
7645         * modules/stdint (Depends-on): Likewise.
7646         * modules/sys_stat (Depends-on): Likewise.
7647         * modules/wctype (Depends-on): Likewise.
7648         * MODULES.html.sh (Support for building libraries and
7649         executables): Document it.
7650
7651 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
7652
7653         * gnulib-tool (SED): Remove, undoing previous change.
7654         The problem was that it broke coreutils on Solaris, because
7655         "sed --posix" leaked into a makefile.
7656         (sed): New alias, if 'alias' and GNU sed.
7657
7658 2006-12-24  Jim Meyering  <jim@meyering.net>
7659
7660         Work around an fchownat bug in glibc-2.4:
7661         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
7662         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
7663         in spite of the -P option.
7664         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
7665         New macros.
7666         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
7667         * modules/openat (Files): Add lib/fchownat.c.
7668         * lib/openat.c (fchownat): Don't define here.  Move to...
7669         * lib/fchownat.c: ...this new file.
7670
7671 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
7672
7673         Fix bug reported by Bruno Haible in
7674         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
7675         where quotearg.c didn't compile on Mac OS X 10.2 because it
7676         lacks <wchar.h> and wint_t.
7677         * lib/wctype_.h (__wctype_wint_t): New type.
7678         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
7679         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
7680         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
7681         Arg is now of type __wctype_wint_t, not wint_t.
7682         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
7683         substitute HAVE_WINT_T.
7684         * modules/wctype (Files): Add m4/wint_t.m4.
7685         (wctype.h): Substitute HAVE_WINT_T.
7686
7687 2006-12-23  Bruno Haible  <bruno@clisp.org>
7688
7689         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
7690
7691 2006-12-23  Bruno Haible  <bruno@clisp.org>
7692
7693         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
7694         S_ISLNK.
7695         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
7696         mingw.
7697
7698 2006-12-22  Bruno Haible  <bruno@clisp.org>
7699
7700         * lib/copy-file.c: Include acl.h.
7701         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
7702         Close the file descriptors only after being done with copy_acl.
7703         * modules/copy-file (Depends-on): Add acl.
7704
7705 2006-12-22  Bruno Haible  <bruno@clisp.org>
7706
7707         * gnulib-tool (SED): New variable.
7708         Use $SED instead of sed everywhere.
7709
7710 2006-12-22  Bruno Haible  <bruno@clisp.org>
7711
7712         * modules/no-c++: New file.
7713         * m4/no-c++.m4: New file.
7714         * MODULES.html.sh (Support for building libraries and executables):
7715         Add no-c++.
7716
7717 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
7718
7719         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
7720         Include <limits.h>, and use its INT_MAX to rewrite the
7721         j loop so that it does not overflow 'int'.  Problem reported by
7722         Ralf Wildenhues in
7723         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
7724         Play it safe by shifting left by 1 rather than multiplying by 2,
7725         as GCC is less likely to optimize this away when the value
7726         is signed (when it assumes overflow leads to undefined behavior).
7727         Also, don't assume time_t uses two's complement.
7728
7729 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
7730
7731         * MODULES.html.sh: New module wctype.
7732         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
7733         * lib/fnmatch.c: Don't bother to include <wchar.h> before
7734         <wctype.h>, since the new wctype module should fix this.
7735         * lib/quotearg.c: Include <wctype.h> unconditionally, since
7736         the wctype module should arrange for it.
7737         * lib/regex_internal.h: Likewise.
7738         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
7739         since the wctype module should handle this now.
7740         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
7741         * modules/fnmatch (Depends-on): Add wctype.
7742         * modules/quotearg (Depends-on): Likewise.
7743         * modules/regex (Depends-on): Likewise.
7744
7745 2006-12-19  Bruno Haible  <bruno@clisp.org>
7746
7747         * lib/strdup.h [C++]: Wrap definitions in extern "C".
7748         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
7749
7750 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7751
7752         * modules/savewd (Depends-on): Fix dependency on fcntl.
7753
7754 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
7755
7756         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
7757         conforms to C99, rather than relying on the user's environment
7758         setting of STDINT_H.
7759
7760 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
7761         and Eric Blake  <ebb9@byu.net>
7762
7763         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
7764         This is more consistent with the other defines here.
7765         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
7766         Port to z/OS.  Problem reported by Paul Gilmartin.
7767         Change local vars to use gl_ prefix rather than ac_.
7768         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
7769         with other defines.
7770         * modules/double-slash-root: New module.
7771         * modules/dirname (Files): Remove m4/double-slash-root.m4.
7772         (Depends-on): Add double-slash-root.
7773         * MODULES.html.sh (File system functions): Mention new module.
7774
7775 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
7776
7777         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
7778         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
7779         This is for the benefit of gzip, which doesn't do i18n.
7780
7781 2006-12-12  Jim Meyering  <jim@meyering.net>
7782
7783         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
7784         Reported by Andreas Schwab <schwab@suse.de>.
7785
7786 2006-12-12  Bruno Haible  <bruno@clisp.org>
7787
7788         Merge these changes.
7789         2006-09-05  Bruno Haible  <bruno@clisp.org>
7790         * lib/iconvme.c (iconv_string): No need to save and restore errno when
7791         iconv_alloc succeeded.
7792         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
7793         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
7794         test for " && dest " at the end - dest is always != NULL there. Call
7795         iconv with 4xNULL arguments initially, to reset the state. Call iconv
7796         with 2xNULL arguments, also to flush the state storage. Handle the
7797         IRIX iconv behaviour. Realloc the final result, to throw away unused
7798         memory.
7799
7800 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
7801
7802         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
7803         and fchmodat unconditionally, since glibc 2.4 has them.
7804         Problem reported by Arkadiusz Miskiewicz.
7805
7806 2006-12-10  Bruno Haible  <bruno@clisp.org>
7807
7808         * gnulib-tool (func_import): Show the include files only for those
7809         modules that are copied and specified.
7810         Reported by Karl Berry.
7811
7812 2006-12-08  Jim Meyering  <jim@meyering.net>
7813
7814         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
7815         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
7816
7817         * build-aux/announce-gen: Add two new options, both optional:
7818         --bootstrap-tools=TOOL_LIST
7819               a comma-separated list of tools, e.g.,
7820               autoconf,automake,bison,gnulib
7821         --gnulib-snapshot-date=DATE
7822               if gnulib is in the bootstrap tool list,
7823               then report this as the snapshot date.
7824               If not specified, use the current date/time.
7825               If you specify a date here, be sure it's UTC.
7826
7827 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7828
7829         * tests/test-argp-2.sh: Fix test to match actual output.
7830         (func_compare): Fix sed script to be portable.
7831
7832 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
7833
7834         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
7835         workaround for this case.  It is not autoconfigured now; offhand
7836         it's hard to see how to autoconfigure it.
7837
7838 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
7839
7840         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
7841         a directory that is about to be chowned.  Such a directory's
7842         initial file permissions should permit the owner only and this
7843         should not be changed until after the chown, since the group and
7844         other bits would be incorrect if they granted permission before
7845         the chown.
7846
7847         Fix porting problem for iswctype reported by Georg Schwarz in:
7848         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
7849         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
7850         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
7851         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
7852         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
7853
7854 2006-12-03  Jim Meyering  <jim@meyering.net>
7855
7856         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
7857         p->fts_statp may not yet be defined.
7858         (fts_read): Instead, set it in the caller, once p->fts_statp is
7859         sure to be defined, and corresponds to a top-level directory.
7860         This bug made du -x fail.  Here's the coreutils test case:
7861         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
7862         Reported by Mike Frysinger.
7863
7864 2006-12-01  Jim Meyering  <jim@meyering.net>
7865
7866         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
7867         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
7868         Reported by Simon Josefsson.
7869
7870 2006-11-30  Jim Meyering  <jim@meyering.net>
7871
7872         * m4/warning.m4: Use the all-permissive copyright notice
7873         recommended by RMS (rather than LGPL).
7874         * m4/vararrays.m4: Likewise.
7875         * m4/flexmember.m4: Likewise.
7876
7877 2006-11-29  Bruno Haible  <bruno@clisp.org>
7878
7879         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
7880         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
7881         using +=.
7882         Reported by Simon Josefsson <simon@josefsson.org>.
7883
7884 2006-11-28  James Youngman <jay@gnu.org>
7885
7886         * README: Advise users that they might find the bug-gnulib@gnu.org
7887         and autotools-announce@gnu.org mailing lists useful.
7888
7889 2006-11-28  Bruno Haible  <bruno@clisp.org>
7890
7891         * m4/ptrdiff_max.m4: Remove file.
7892
7893 2006-11-21  Bruno Haible  <bruno@clisp.org>
7894
7895         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
7896         _AC_COMPUTE_INT.
7897         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
7898         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
7899         _AC_COMPUTE_INT.
7900         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
7901         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
7902         _AC_COMPUTE_INT.
7903         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
7904
7905 2006-11-28  Jim Meyering  <jim@meyering.net>
7906
7907         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
7908         warning from "gcc -Wshadow" about shadowing the builtin.
7909
7910 2006-11-27  Bruno Haible  <bruno@clisp.org>
7911
7912         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
7913         _AC_COMPUTE_INT.
7914         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
7915
7916 2006-11-27  Bruno Haible  <bruno@clisp.org>
7917             Paul Eggert  <eggert@cs.ucla.edu>
7918
7919         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
7920
7921 2006-11-26  Bruno Haible  <bruno@clisp.org>
7922
7923         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
7924         noinst_LTLIBRARIES.
7925
7926 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
7927             Bruno Haible  <bruno@clisp.org>
7928
7929         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
7930         if compiling with "gcc -ansi".
7931
7932 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
7933
7934         Fix some incompatibilities with gcc -ansi -pedantic.
7935         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
7936         if compiling pedantically with GCC, unless it's C99 or later.
7937         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
7938         it mishandles gcc -ansi -pedantic as well.
7939         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
7940         if gcc -pedantic.
7941         * lib/regexec.c (check_node_accept_bytes): Don't use auto
7942         initializers for struct if -pedantic, unless it's C99 or later.
7943
7944 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
7945
7946         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
7947         Don't close an fd more than once. Identical atimes indicate
7948         success, not failure.
7949
7950 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
7951
7952         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
7953
7954 2006-11-23  Jim Meyering  <jim@meyering.net>
7955
7956         * build-aux/announce-gen: New file.  From coreutils.
7957
7958 2006-11-22  Jim Meyering  <jim@meyering.net>
7959
7960         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
7961         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
7962         (fts_read): Use a temporary to narrow the overused st_size member
7963         before using it in a switch statement.  Reported by Matthew Woehlke.
7964
7965         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
7966         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
7967
7968 2006-11-20  Bruno Haible  <bruno@clisp.org>
7969
7970         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
7971         changequote instead of pairs of brackets.
7972         Reported by Andreas Schwab <schwab@suse.de>.
7973
7974 2006-11-21  Jim Meyering  <jim@meyering.net>
7975
7976         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
7977         so as to remain compatible with older compilers.
7978         Patch from Michael Deutschmann.
7979
7980 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
7981
7982         * MODULES.html.sh (File system functions): Add openat.
7983
7984         * lib/openat.h (rpl_fstatat): New macro, if
7985         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
7986         (fstatat): Define to rpl_fstatat under the same conditions,
7987         unless COMPILING_FSTATAT.
7988         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
7989         seems to have the bug.
7990         * lib/fstatat.c: New file.
7991         * modules/openat (Files): Add it.
7992
7993 2006-11-20  Bruno Haible  <bruno@clisp.org>
7994
7995         * Makefile: New file.
7996
7997 2006-11-20  Jim Meyering  <jim@meyering.net>
7998
7999         The beginnings of syntax-related checks for gnulib.
8000         * lib/Makefile: New file.
8001         * lib/t-idcache: New script.  Ensure that the two halves of
8002         idcache.c stay in sync.
8003
8004         * lib/idcache.c: Adjust comments in user- and group- portions to
8005         be more accurate, and to be consistent with one another.
8006
8007 2006-11-20  Jim Meyering  <jim@meyering.net>
8008
8009         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
8010         continue using the flexible array member (thus, this module performs
8011         half as many malloc calls), with the addition that...
8012         (getgroup, getuser): Consistently record a non-match via an empty
8013         "name" string, and map an empty string match to a NULL return value.
8014         * modules/idcache (Depends-on): Re-add flexmember.
8015
8016         * lib/idcache.c (getuser): Remove all uses of the register keyword.
8017         (getuidbyname, getgroup, getgidbyname): Likewise.
8018
8019         Use cleaner syntax: NULL rather than 0.
8020         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
8021
8022 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8023
8024         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
8025         It mishandled the case where the group was missing.
8026         Problem reported by Greg Schafer.
8027         * modules/idcache: Likewise.
8028
8029 2006-11-18  Jim Meyering  <jim@meyering.net>
8030
8031         * check-module (%exempt_header): Add exception for some
8032         conditionally-included headers.
8033
8034         * modules/i-ring (Depends-on): Add verify.
8035         (License): Change to LGPL.
8036
8037 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
8038
8039         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
8040         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
8041         and inttostr.h.  Use snprintf rather than uinttostr, so that
8042         LGPLed code doesn't depend on GPLed.
8043
8044 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
8045
8046         * modules/inline (License): Change from GPL to LGPL.
8047
8048 2006-11-17  Jim Meyering  <jim@meyering.net>
8049
8050         * modules/d-type (License): Switch to LGPL.
8051
8052 2006-11-15  Bruno Haible  <bruno@clisp.org>
8053
8054         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
8055
8056 2006-11-15  Eric Blake  <ebb9@byu.net>
8057
8058         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
8059         the module dependency.
8060
8061 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8062             Bruno Haible  <bruno@clisp.org>
8063
8064         * gnulib-tool (func_create_testdir): Add license consistency check.
8065
8066 2006-11-15  Eric Blake  <ebb9@byu.net>
8067
8068         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
8069         random "(cached)" in configure output.
8070
8071 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8072
8073         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
8074         test for conforming inttypes.h is both announced and cached.
8075
8076         * MODULES.html.sh (seen_modules, seen_files): New variables.
8077         (func_module): Rewrite to use a few less gnulib-tool and sed
8078         invocations.  Avoid a couple of quadratic algorithms for ...
8079         (missed_modules, missed_files): ... these, with ...
8080         (func_append, func_tmpdir): ... these new functions, from
8081         gnulib-tool.  Analogously, install traps for cleanup.
8082
8083         * tests/test-gc.c (main): Remove unused variables.
8084         * tests/test-read-file.c: Include stdlib.h, for 'free'.
8085
8086 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
8087
8088         * modules/inttostr (License): Change to LGPL.
8089
8090 2006-11-14  Eric Blake  <ebb9@byu.net>
8091
8092         * modules/tempname (License): Change to LGPL.
8093
8094 2006-11-14  Eric Blake  <ebb9@byu.net>
8095
8096         * doc/functions.texi (Function Portability): *printf functions on
8097         Cygwin now understand all POSIX size specifiers.
8098
8099 2006-11-14  Bruno Haible  <bruno@clisp.org>
8100
8101         * modules/c-ctype (License): Change to LGPL.
8102
8103 2006-11-12  Bruno Haible  <bruno@clisp.org>
8104
8105         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
8106         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
8107         for GNOME libraries, for which the include files are installed in
8108         subdirectories of $prefix/include.
8109
8110 2006-11-12  Bruno Haible  <bruno@clisp.org>
8111
8112         * m4/lib-link.m4: Require at least autoconf-2.54.
8113         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
8114         name to underscores for the --with option.
8115
8116 2006-11-13  Bruno Haible  <bruno@clisp.org>
8117
8118         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
8119         the tests directory.
8120         Reported by Ralf Wildenhues.
8121
8122 2006-11-13  Bruno Haible  <bruno@clisp.org>
8123
8124         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
8125         (func_emit_initmacro_end): Undo the override here.
8126         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
8127         Works around the famous automake error in coreutils.
8128
8129 2006-11-13  Eric Blake  <ebb9@byu.net>
8130
8131         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
8132         element, not its node.
8133
8134 2006-11-12  Bruno Haible  <bruno@clisp.org>
8135
8136         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
8137         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
8138
8139 2006-11-12  Bruno Haible  <bruno@clisp.org>
8140
8141         * gnulib-tool: New option --local-symlink.
8142         (func_usage): Document it.
8143         (lsymbolic): New variable.
8144         (func_import, func_create_testdir): If --symlink was not specified,
8145         test whether --local-symlink was specified and the file comes from
8146         the local_gnulib_dir.
8147
8148 2006-11-12  Bruno Haible  <bruno@clisp.org>
8149
8150         * gnulib-tool (func_ln): New function.
8151         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
8152
8153 2006-11-12  Bruno Haible  <bruno@clisp.org>
8154
8155         Finish support for source files in subdirectories.
8156         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
8157         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
8158         AUTOMAKE_OPTIONS.
8159         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
8160
8161 2006-11-12  Bruno Haible  <bruno@clisp.org>
8162
8163         * gnulib-tool (func_get_automake_snippet): Synthesize also an
8164         EXTRA_lib_SOURCES augmentation.
8165         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
8166
8167 2006-11-12  Jim Meyering  <jim@meyering.net>
8168
8169         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
8170         file descriptors.  This also averts a failure on systems with
8171         native openat support when a traversed directory lacks "x" access.
8172         * lib/fts_.h: Include "i-ring.h"
8173         (struct FTS) [fts_fd_ring]: New member.
8174         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
8175         (FCHDIR): Add parentheses.
8176         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
8177         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
8178         When descending, rather than simply closing the previous
8179         fts_cwd_fd value, push that file descriptor onto the ring.
8180         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
8181         (fts_open): Initialize the new fd_ring member.
8182         (fts_close): Clear the ring.
8183         (fts_safe_changedir): When possible, use our new fd_ring to skip
8184         the diropen and fstat and dev/ino comparison that would normally
8185         accompany a virtual `chdir ("..")'.
8186
8187         * modules/fts (Depends-on): Add i-ring.
8188         * modules/i-ring: New module.
8189         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
8190         * m4/i-ring.m4: New file.
8191
8192 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8193
8194         * gnulib-tool (func_create_testdir): Fix replacement of
8195         `build-aux' in configure.ac.  Run autotools in gltests
8196         subdirectory.
8197         (func_create_testdir, func_create_megatestdir, test): There is
8198         no need for '--force' in most autotool invocations in a new
8199         tree.  Actually fail the whole test if any of the tools, or the
8200         configure or make stages fail.
8201
8202         Sync from Automake.
8203         * build-aux/gnupload: Revert last change.  Add pointer to upload
8204         instructions of the GNU Maintenance Instructions.
8205         Suggestion by Karl Berry.
8206
8207 2006-11-10  Jim Meyering  <jim@meyering.net>
8208
8209         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
8210
8211 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
8212
8213         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
8214         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
8215         (bind_textdomain_codeset) [! ENABLE_NLS]:
8216         Evaluate all the arguments.  That way, callers get compatible behavior
8217         if the arguments have side effects.  Also, it avoids some GCC
8218         diagnostics in some cases; Joel E. Denny reported problems when Bison
8219         was configured with --enable-gcc-warnigs.
8220
8221 2006-11-10  Jim Meyering  <jim@meyering.net>
8222
8223         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
8224         relevant options in CFLAGS (like -O, -fno-inline) are taken into
8225         account.
8226
8227 2006-11-10  Jim Meyering  <jim@meyering.net>
8228
8229         * modules/inline: New file/module.
8230         * modules/xalloc (Files): Remove m4/inline.m4.
8231         (Depends-on): Add inline, instead.
8232         * modules/oset: Likewise.
8233         * modules/list: Likewise.
8234
8235 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
8236
8237         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
8238         Problem reported by Matthew Woehlke.
8239
8240 2006-11-09  Bruno Haible  <bruno@clisp.org>
8241
8242         * lib/tempname.c (gen_tempname): Remove variant that invokes
8243         __gen_tempname.
8244         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
8245         __gen_tempname.
8246
8247 2006-11-08  Bruno Haible  <bruno@clisp.org>
8248
8249         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
8250         to 'yes' instead of 'cross-compiling'.
8251
8252 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
8253
8254         * lib/quotearg.h (quotearg_free): New decl.
8255         * lib/quotearg.c (quotearg_free): New function.
8256         (slot0, nslots, slotvec0, slotvec):
8257         Now file-scope so that quotearg_free can get at them.
8258
8259 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8260
8261         Sync from Automake.
8262         * build-aux/gnupload: Add missing 'gnu' to example URL.
8263         Report by Karl Berry.
8264
8265 2006-11-08  Bruno Haible  <bruno@clisp.org>
8266
8267         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
8268         Suggested by Paul Eggert.
8269
8270 2006-11-08  Jim Meyering  <jim@meyering.net>
8271
8272         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
8273         It's already included if !_LIBC.
8274         (fts_safe_changedir): Add a comment.
8275
8276 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
8277
8278         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
8279         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
8280         Matthew Woehlke.
8281
8282         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
8283         definitions up, to avoid colliding with change below.
8284         (static_inline) [HAVE_INLINE]: New macro.
8285         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
8286         Provide extern decls when !HAVE_INLINE.  Do not define unless
8287         static_inline is defined, either by us or by xmalloc.c.  Use
8288         static_inline rather than static inline.
8289         (XCALLOC): Optimize sizeof(T) = 1 case.
8290         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
8291
8292 2006-11-07  Bruno Haible  <bruno@clisp.org>
8293
8294         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
8295         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
8296         AC_C_INLINE.
8297         * modules/xalloc (Files): Add m4/inline.m4.
8298
8299 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8300
8301         * README: Fix typo.
8302         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
8303         (Miscellanous Notes): ...from this.
8304
8305 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
8306
8307         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
8308         Mention that offsetof should be used instead of sizeof.
8309         From Bruno Haible.
8310
8311 2006-11-07  Bruno Haible  <bruno@clisp.org>
8312
8313         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
8314
8315 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
8316
8317         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
8318         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
8319         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
8320         (gl_tree_add_before, gl_tree_add_after):
8321         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
8322         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
8323         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
8324         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
8325         (gl_linked_add_after, gl_linked_add_at): Likewise.
8326         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
8327         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
8328         (gl_tree_add_before, gl_tree_add_after): Likewise.
8329         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
8330         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
8331         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
8332
8333 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8334
8335         * lib/gl_oset.h: Use C comment style, not C++ comment style.
8336
8337 2006-11-06  Bruno Haible  <bruno@clisp.org>
8338
8339         * m4/inline.m4: New file.
8340         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
8341         * modules/list (Files): Add m4/inline.m4.
8342         * modules/oset (Files): Likewise.
8343
8344 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
8345
8346         * lib/idcache.c: Include <stddef.h>, for offsetof.
8347         (struct userid.name): Change from char * to a flexible array member.
8348         All uses changed.
8349         * modules/idcache (Depends-on): Add flexmember.
8350
8351         * MODULES.html.sh (Core language properties): New module flexmember.
8352         * modules/flexmember, m4/flexmember.m4: New files.
8353
8354         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
8355         inline functions that are identical with the old xnmalloc_inline,
8356         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
8357         that we can avoid some unnecessary integer multiplications and
8358         divisions in the common case where the element size is known at
8359         compile time.
8360         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
8361         needed.
8362         (xnboundedmalloc): Remove.
8363         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
8364         arguments, for consistency with rest of this header.
8365         (xcharalloc): Rewrite using XNMALLOC.
8366         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
8367         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
8368         versions have been moved to lib/xalloc.h and renamed to be the
8369         non-*_inline versions.
8370         (xmalloc, xrealloc): Implement without reference to the xnmalloc
8371         and xnrealloc functions, since those functions are now inline and
8372         now call us.
8373         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
8374         renaming described above.
8375         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
8376         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
8377         captures the dependency in AC_C_INLINE.
8378
8379         New module canonicalize-lgpl, proposed by Charles Wilson in
8380         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
8381         with a few small changes afterwards.
8382         * MODULES.html.sh (File system functions): New module
8383         canonicalize-lgpl.
8384         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
8385         and canonicalize_file_name.
8386         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
8387         * modules/canonicalize-lgpl: New files.
8388
8389 2006-11-05  Bruno Haible  <bruno@clisp.org>
8390
8391         * gnulib-tool (func_import, func_create_testdir): Create directories
8392         also for files in subdirectories of lib/.
8393
8394 2006-11-05  Bruno Haible  <bruno@clisp.org>
8395
8396         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
8397         ANSI C compliant.
8398
8399 2006-11-03  Bruno Haible  <bruno@clisp.org>
8400
8401         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
8402         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
8403         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
8404         (xnboundedmalloc): New inline function.
8405         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
8406         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
8407         xmalloc.
8408         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
8409         xmalloc.
8410         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
8411         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
8412         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
8413         xmalloc.
8414         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
8415         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
8416         xmalloc.
8417         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
8418         gl_tree_add_after): Use XMALLOC instead of xmalloc.
8419         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
8420         xmalloc.
8421         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
8422         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
8423         gl_tree_add_after): Use XMALLOC instead of xmalloc.
8424         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
8425         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
8426         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
8427         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
8428
8429 2006-11-03  Bruno Haible  <bruno@clisp.org>
8430
8431         * lib/c-ctype.h [C++]: Define functions without name mangling.
8432         * lib/fwriteerror.h [C++]: Likewise.
8433         * lib/gcd.h [C++]: Likewise.
8434         * lib/linebreak.h [C++]: Likewise.
8435
8436 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
8437
8438         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
8439         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
8440         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
8441         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
8442         Check for functions and headers just once.
8443         Check for declaration of canonicalize_file_name.
8444         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
8445
8446 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
8447
8448         * gnulib-tool (func_import): Fix typo in actioncmd.
8449
8450 2006-11-02  Bruno Haible  <bruno@clisp.org>
8451
8452         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
8453         newline sequence in the Makefile.am snippet as a space, like "make"
8454         does.
8455         Reported by Roger Persson <perrog@gmail.com>.
8456
8457 2006-11-01  Bruno Haible  <bruno@clisp.org>
8458
8459         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
8460         already declared in <string.h>.
8461         * lib/strcase.h (strncasecmp): Don't declare it if yes.
8462
8463 2006-11-01  Bruno Haible  <bruno@clisp.org>
8464
8465         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
8466         * lib/strcase.h: Include <string.h>.
8467         (strcasecmp): Define to rpl_strcasecmp here.
8468
8469 2006-11-01  Bruno Haible  <bruno@clisp.org>
8470
8471         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
8472
8473 2006-11-01  Eric Blake  <ebb9@byu.net>
8474
8475         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
8476
8477         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
8478
8479 2006-10-29  Bruno Haible  <bruno@clisp.org>
8480
8481         Make it compile in C++ mode.
8482         * lib/full-write.c (full_rw): Add a cast.
8483
8484 2006-11-01  Bruno Haible  <bruno@clisp.org>
8485
8486         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
8487         be POSIX compliant.
8488         Reported by Roger Persson <perrog@gmail.com>.
8489
8490 2006-11-01  Eric Blake  <ebb9@byu.net>
8491
8492         * lib/getopt_.h: Fix comments.
8493
8494 2006-10-31  Eric Blake  <ebb9@byu.net>
8495
8496         * modules/tmpdir (Depends-on): Add sys_stat.
8497         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
8498         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
8499         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
8500         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
8501         tempname.
8502
8503 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
8504
8505         Avoid some C++ diagnostics reported by Bruno Haible.
8506         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
8507         xmalloc.
8508         (quotearg_alloc): Use xcharalloc rather than xmalloc.
8509         (struct slotvec): Move to top level.
8510         (quotearg_n_options): Rewrite to avoid xmalloc.
8511         * lib/xalloc.h (xcharalloc): New function.
8512         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
8513         [defined __cplusplus]: Add function template that provides result
8514         type propagation.  This part of the change is from Bruno Haible.
8515
8516 2006-10-29  Bruno Haible  <bruno@clisp.org>
8517
8518         Make it compile in C++ mode.
8519         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
8520         * lib/strnlen1.c (strnlen1): Cast memchr result.
8521         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
8522         * lib/clean-temp.c (string_equals, string_hash): Add casts.
8523         (create_temp_dir): Rename local variable 'template'.
8524         (compile_csharp_using_sscli): Add cast.
8525         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
8526         * lib/findprog.c (find_in_path): Likewise.
8527         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
8528         * lib/wait-process.c (register_slave_subprocess): Likewise.
8529
8530 2006-10-22  Bruno Haible  <bruno@clisp.org>
8531
8532         * modules/tsearch: New file.
8533         * lib/tsearch.h: New file.
8534         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
8535         * m4/tsearch.m4: New file.
8536         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
8537
8538 2006-10-29  Eric Blake  <ebb9@byu.net>
8539
8540         * lib/arcfour.c: Assume config.h.
8541         * lib/arctwo.c: Likewise.
8542         * lib/base64.c: Likewise.
8543         * lib/check-version.c: Likewise.
8544         * lib/crc.c: Likewise.
8545         * lib/des.c: Likewise.
8546         * lib/gc-gnulib.c: Likewise.
8547         * lib/gc-libgcrypt.c: Likewise.
8548         * lib/gc-pbkdf2-sha1.c: Likewise.
8549         * lib/getaddrinfo.c: Likewise.
8550         * lib/getdelim.c: Likewise.
8551         * lib/getline.c: Likewise.
8552         * lib/hmac-md5.c: Likewise.
8553         * lib/hmac-sha1.c: Likewise.
8554         * lib/iconvme.c: Likewise.
8555         * lib/md2.c: Likewise.
8556         * lib/md4.c: Likewise.
8557         * lib/memxor.c: Likewise.
8558         * lib/read-file.c: Likewise.
8559         * lib/readline.c: Likewise.
8560         * lib/rijndael-alg-fst.c: Likewise.
8561         * lib/rijndael-api-fst.c: Likewise.
8562         * lib/xgetdomainname.c: Likewise.
8563
8564 2006-10-28  Eric Blake  <ebb9@byu.net>
8565
8566         * lib/xstrndup.c: Assume config.h.
8567
8568 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
8569
8570         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
8571         stat-macros.h is now for our own macros, whereas stat_h is for
8572         macros in the <sys/stat.h> name space.
8573         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
8574         (STAT_MACROS_H): Remove.
8575         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
8576         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
8577         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
8578         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
8579         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
8580         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
8581         Move these macros to ...
8582         * lib/stat_.h: here.  Don't include stat-macros.h.
8583         * lib/canonicalize.c: Don't include stat-macros.h.
8584         * lib/chown.c: Likewise.
8585         * lib/euidaccess.c: Likewise.
8586         * lib/file-type.c: Likewise.
8587         * lib/filemode.c: Likewise.
8588         * lib/glob.c: Likewise.
8589         * lib/isapipe.c: Likewise.
8590         * lib/lchown.c: Likewise.
8591         * lib/lstat.c: Likewise.
8592         * lib/mkdir-p.c: Likewise.
8593         * lib/rmdir.c: Likewise.
8594         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
8595         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
8596         unless mkdir isn't declared, to speed up 'configure'.
8597         Always create sys/stat.h, since it's unlikely any real sys/stat.h
8598         would define all the S_* symbols.
8599         * modules/canonicalize (Depends-on):
8600         Depend on sys_stat, not stat-macros.
8601         * modules/chown: Likewise.
8602         * modules/euidaccess: Likewise.
8603         * modules/filemode: Likewise.
8604         * modules/file-type: Likewise.
8605         * modules/glob: Likewise.
8606         * modules/isapipe: Likewise.
8607         * modules/lchown: Likewise.
8608         * modules/lstat: Likewise.
8609         * modules/mkancesdirs: Likewise.
8610         * modules/rmdir: Likewise.
8611         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
8612         * modules/modechange: Likewise.
8613         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
8614         (configure.ac): Remove gl_STAT_MACROS.
8615         * modules/sys_stat (Depends-on): Remove stat-macros.
8616
8617 2006-10-27  Bruno Haible  <bruno@clisp.org>
8618
8619         * m4/signed.m4: Remove file.
8620         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
8621         invocation.
8622         * modules/vasnprintf (Files): Remove m4/signed.m4.
8623
8624 2006-10-27  Bruno Haible  <bruno@clisp.org>
8625
8626         Update to GNU gettext 0.16.
8627         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
8628         m4/inttypes-h.m4, m4/signed.m4.
8629         * m4/gettext.m4: Update to GNU gettext 0.16.
8630         * m4/intl.m4: New file, from GNU gettext.
8631         * m4/intldir.m4: New file, from GNU gettext.
8632         * config/srclist.txt: Update
8633
8634 2006-10-27  Eric Blake  <ebb9@byu.net>
8635
8636         * MODULES.html.sh: Document tempname.
8637         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
8638         dependencies.
8639         (Files): Move lib/tempname.c...
8640         * modules/tempname: ...to this new module.
8641         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
8642         (gl_PREREQ_TEMPNAME): Move...
8643         * m4/tempname.m4: ...to this new file.
8644         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
8645         * modules/sys_stat (Depends-on): Add stat-macros.
8646         * lib/stat_.h (includes): Pick up stat macros.
8647         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
8648         if stat macros are broken.
8649         * lib/tempname.c (includes): No need to include "stat-macros.h".
8650         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
8651         (direxists, __path_search) [!_LIBC]: Don't compile these in
8652         gnulib; the tmpdir module covers that.
8653         * lib/tempname.h: New file.
8654
8655 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
8656
8657         * COPYING: Explain how gnulib-tool converts licence headers.
8658         Almost all wording by Eric Blake.
8659
8660 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
8661
8662         * lib/mbchar.h (is_basic_table): Make read-only.
8663         * lib/mbchar.c (is_basic_table): Likewise.
8664         Reported by John Darrington.
8665
8666 2006-10-25  Bruno Haible  <bruno@clisp.org>
8667
8668         * lib/progname.h (set_program_name): Undefine before defining.
8669
8670 2006-10-25  Bruno Haible  <bruno@clisp.org>
8671
8672         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
8673         false for non-gcc C++ compilers.
8674         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
8675
8676 2006-10-24  Bruno Haible  <bruno@clisp.org>
8677
8678         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
8679         iconv implementations like Irix iconv.
8680
8681 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
8682
8683         * modules/vararrays: New file.
8684         * m4/vararrays.m4: New file, taken from diffutils.
8685         * MODULES.html.sh: New module vararrays.
8686
8687 2006-10-24  Karl Berry  <karl@gnu.org>
8688
8689         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
8690         Don't call GNU Unix.
8691
8692 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8693
8694         * users.txt: Add Libtool.
8695
8696         Sync from Libtool:
8697
8698         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
8699
8700         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
8701         to gnulib's policy of including config.h unconditionally.
8702
8703 2006-10-24  Bruno Haible  <bruno@clisp.org>
8704
8705         * modules/wcwidth (Files): Add m4/wint_t.m4.
8706         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
8707         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
8708
8709 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
8710
8711         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
8712         to pacify GCC with some -W flags enabled.  Problem reported by
8713         Bruno Haible.
8714
8715 2006-10-24  Jim Meyering  <jim@meyering.net>
8716
8717         * MODULES.html.sh: Remove uinttostr.  It's not a module.
8718         Reported by Karl Berry.
8719
8720 2006-10-23  Bruno Haible  <bruno@clisp.org>
8721
8722         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
8723
8724 2006-10-24  Bruno Haible  <bruno@clisp.org>
8725
8726         * lib/gl_list.h: Use C comment style, not C++ comment style.
8727
8728 2006-10-23  Eric Blake  <ebb9@byu.net>
8729
8730         * lib/getaddrinfo.c (includes): Add missing include.
8731
8732 2006-10-23  Bruno Haible  <bruno@clisp.org>
8733             Paul Eggert  <eggert@cs.ucla.edu>
8734
8735         Ability to rename obstack_free.
8736         * lib/obstack.h (__obstack_free): New macro. Declare instead of
8737         obstack_free.
8738         (obstack_free): Invoke the __obstack_free macro.
8739         * lib/obstack.c (obstack_free): Use __obstack_free macro.
8740
8741 2006-10-23  Bruno Haible  <bruno@clisp.org>
8742             Paul Eggert  <eggert@cs.ucla.edu>
8743
8744         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
8745         __argc, __argv from the declaration. (They are defined as macros on
8746         mingw.)
8747
8748 2006-10-22  Bruno Haible  <bruno@clisp.org>
8749
8750         * doc/gnulib-intro.texi: New file.
8751         * doc/gnulib.texi: Include it.
8752
8753 2006-10-21  Bruno Haible  <bruno@clisp.org>
8754
8755         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
8756         "Introduction", "Miscellanous Notes", "Particular Modules".
8757
8758 2006-10-21  Bruno Haible  <bruno@clisp.org>
8759
8760         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
8761         Change mostlyclean-local rule to avoid sh syntax error from bash
8762         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
8763
8764 2006-10-23  Jim Meyering  <jim@meyering.net>
8765
8766         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
8767         in place of snprintf.
8768
8769         * modules/inttostr (Files): Add lib/uinttostr.c.
8770         * lib/uinttostr.c (inttostr): New file/function.
8771         * lib/inttostr.h (uinttostr): Declare.
8772         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
8773         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
8774         Add uinttostr.
8775         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
8776
8777 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
8778
8779         * lib/canonicalize.c (ELOOP): Define if not already defined.
8780         Problem reported by Bruno Haible in
8781         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
8782
8783 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
8784
8785         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
8786         Problem reported by Perry Smith and Ville Laurikari.
8787
8788         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
8789         uses.
8790
8791 2006-10-19  Bruno Haible  <bruno@clisp.org>
8792
8793         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
8794         for mingw.
8795
8796 2006-10-19  Bruno Haible  <bruno@clisp.org>
8797
8798         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
8799         Needed for mingw.
8800
8801 2006-10-19  Bruno Haible  <bruno@clisp.org>
8802
8803         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
8804
8805 2006-10-19  Bruno Haible  <bruno@clisp.org>
8806
8807         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
8808         it.
8809
8810 2006-10-19  Bruno Haible  <bruno@clisp.org>
8811
8812         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
8813         invocation.
8814
8815 2006-10-19  Bruno Haible  <bruno@clisp.org>
8816
8817         * gnulib-tool (func_create_testdir): Don't include ftruncate and
8818         mountlist by default.
8819
8820 2006-10-16  Bruno Haible  <bruno@clisp.org>
8821
8822         * lib/c-strstr.c: Include c-strstr.h.
8823
8824 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
8825
8826         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
8827         in a slash.
8828
8829 2006-10-18  Bruno Haible  <bruno@clisp.org>
8830
8831         * lib/lock.h [C++]: Wrap definitions in extern "C".
8832
8833 2006-10-18  Bruno Haible  <bruno@clisp.org>
8834
8835         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
8836         gl_LIBOBJS list.
8837
8838 2006-10-18  Bruno Haible  <bruno@clisp.org>
8839
8840         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
8841
8842 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
8843
8844         * lib/xstrtol.h: Include gettext.h.
8845         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
8846         Problem reported by Eric Blake.
8847         * modules/xstrtol (Depends-on): Add gettext-h.
8848
8849 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
8850
8851         * lib/strftime.c (advance): New macro.
8852         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
8853         incomplete type, so you can't add 0 to it.  Problem and patch
8854         reported by Eelco Dolstra for dietlibc.
8855
8856 2006-10-18  Jim Meyering  <jim@meyering.net>
8857
8858         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
8859         type for a local, and rename it: s/up/user_proc/.
8860
8861 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
8862
8863         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
8864         READ_UTMP_USER_PROCESS.
8865         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
8866
8867 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
8868
8869         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
8870         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
8871
8872 2006-10-17  Eric Blake  <ebb9@byu.net>
8873
8874         * lib/sigprocmask.c (sigprocmask): Fix typo.
8875
8876         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
8877
8878         * modules/clean-temp (Makefile.am): Don't add to make output...
8879         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
8880         config.h.
8881
8882 2006-10-17  Bruno Haible  <bruno@clisp.org>
8883
8884         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
8885         differently if DEFAULT_TEXT_DOMAIN is set.
8886
8887 2006-10-16  Bruno Haible  <bruno@clisp.org>
8888
8889         * lib/clean-temp.c: Include fwriteerror.h.
8890
8891 2006-10-16  Bruno Haible  <bruno@clisp.org>
8892
8893         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
8894
8895 2006-10-16  Bruno Haible  <bruno@clisp.org>
8896
8897         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
8898         * lib/sigprocmask.h: Include <sys/types.h>.
8899         (sigset_t): Use the system's definition if present.
8900
8901 2006-10-17  Eric Blake  <ebb9@byu.net>
8902
8903         * lib/xvasprintf.c (includes): Assume config.h.
8904         * lib/xasprintf.c (includes): Likewise.
8905
8906 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
8907
8908         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
8909         at least as wide as intmax_t.
8910
8911 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
8912
8913         (Imported from Automake.)
8914         * build-aux/gnupload: Update to version 1.1 of directive file.
8915
8916 2006-10-16  Eric Blake  <ebb9@byu.net>
8917
8918         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
8919         match Automake 1.10a.
8920
8921 2006-10-14  Bruno Haible  <bruno@clisp.org>
8922
8923         * modules/sigprocmask: New file.
8924         * lib/sigprocmask.h: New file.
8925         * lib/sigprocmask.c: New file.
8926         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
8927         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
8928         request sigprocmask.o.
8929         (gl_PREREQ_SIGPROCMASK): New macro.
8930         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
8931         (Depends-on): Add sigprocmask.
8932         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
8933         gt_SIGNALBLOCKING. Test for 'raise' only once.
8934         * lib/fatal-signal.c: Include sigprocmask.h.
8935         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
8936         unblock_fatal_signals): Define always.
8937         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
8938         sigprocmask.
8939
8940 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
8941
8942         Sync from Automake.
8943         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
8944         which incorrectly sets the mode of an existing destination
8945         directory.  In some cases the unpatched install-sh could do the
8946         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
8947         system.  We hope this is rare in practice, but it's clearly worth
8948         fixing.  Problem reported by Alex Unleashed in
8949         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
8950         Also, don't bother to check for -m bugs unless we're using -m;
8951         suggested by Stepan Kasal.
8952
8953 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8954
8955         Sync from Automake.
8956         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
8957         `-c' flag, so they appear at the same position as in %FASTDEP%
8958         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
8959         which ignores unknown options only after the first non-option.
8960         Bug report against M4 by Nelson H. F. Beebe.
8961
8962 2006-10-13  Jim Meyering  <jim@meyering.net>
8963
8964         Fix a bug in yesterday's change.
8965         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
8966         p->fts_statp->st_dev would be used uninitialized.
8967         Ensures that we always call fts_stat on the very first entry.
8968         Miklos Szeredi reported that find -xdev stopped working.
8969
8970 2006-10-12  Bruno Haible  <bruno@clisp.org>
8971
8972         * gnulib-tool (func_get_automake_snippet): Append an automatically
8973         computed EXTRA_DIST augmentation.
8974         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
8975         * modules/alloca-opt (Makefile.am): Likewise.
8976         * modules/allocsa (Makefile.am): Likewise.
8977         * modules/arcfour (Makefile.am): Likewise.
8978         * modules/arctwo (Makefile.am): Likewise.
8979         * modules/argmatch (Makefile.am): Likewise.
8980         * modules/argz (Makefile.am): Likewise.
8981         * modules/atexit (Makefile.am): Likewise.
8982         * modules/backupfile (Makefile.am): Likewise.
8983         * modules/byteswap (Makefile.am): Likewise.
8984         * modules/c-strtod (Makefile.am): Likewise.
8985         * modules/c-strtold (Makefile.am): Likewise.
8986         * modules/calloc (Makefile.am): Likewise.
8987         * modules/canon-host (Makefile.am): Likewise.
8988         * modules/canonicalize (Makefile.am): Likewise.
8989         * modules/chdir-long (Makefile.am): Likewise.
8990         * modules/chdir-safer (Makefile.am): Likewise.
8991         * modules/check-version (Makefile.am): Likewise.
8992         * modules/chown (Makefile.am): Likewise.
8993         * modules/cloexec (Makefile.am): Likewise.
8994         * modules/close-stream (Makefile.am): Likewise.
8995         * modules/closeout (Makefile.am): Likewise.
8996         * modules/crc (Makefile.am): Likewise.
8997         * modules/csharpexec (Makefile.am): Likewise.
8998         * modules/cycle-check (Makefile.am): Likewise.
8999         * modules/des (Makefile.am): Likewise.
9000         * modules/dev-ino (Makefile.am): Likewise.
9001         * modules/dirfd (Makefile.am): Likewise.
9002         * modules/dirname (Makefile.am): Likewise.
9003         * modules/dup2 (Makefile.am): Likewise.
9004         * modules/eealloc (Makefile.am): Likewise.
9005         * modules/error (Makefile.am): Likewise.
9006         * modules/euidaccess (Makefile.am): Likewise.
9007         * modules/exclude (Makefile.am): Likewise.
9008         * modules/exitfail (Makefile.am): Likewise.
9009         * modules/fcntl-safer (Makefile.am): Likewise.
9010         * modules/fcntl (Makefile.am): Likewise.
9011         * modules/file-type (Makefile.am): Likewise.
9012         * modules/fileblocks (Makefile.am): Likewise.
9013         * modules/filemode (Makefile.am): Likewise.
9014         * modules/filenamecat (Makefile.am): Likewise.
9015         * modules/fnmatch (Makefile.am): Likewise.
9016         * modules/fopen-safer (Makefile.am): Likewise.
9017         * modules/fpending (Makefile.am): Likewise.
9018         * modules/fprintftime (Makefile.am): Likewise.
9019         * modules/free (Makefile.am): Likewise.
9020         * modules/fsusage (Makefile.am): Likewise.
9021         * modules/ftruncate (Makefile.am): Likewise.
9022         * modules/fts (Makefile.am): Likewise.
9023         * modules/gc-arcfour (Makefile.am): Likewise.
9024         * modules/gc-des (Makefile.am): Likewise.
9025         * modules/gc-hmac-md5 (Makefile.am): Likewise.
9026         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
9027         * modules/gc-md4 (Makefile.am): Likewise.
9028         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
9029         * modules/gc-sha1 (Makefile.am): Likewise.
9030         * modules/gc (Makefile.am): Likewise.
9031         * modules/getaddrinfo (Makefile.am): Likewise.
9032         * modules/getcwd (Makefile.am): Likewise.
9033         * modules/getdelim (Makefile.am): Likewise.
9034         * modules/getdomainname (Makefile.am): Likewise.
9035         * modules/getgroups (Makefile.am): Likewise.
9036         * modules/gethostname (Makefile.am): Likewise.
9037         * modules/gethrxtime (Makefile.am): Likewise.
9038         * modules/getline (Makefile.am): Likewise.
9039         * modules/getloadavg (Makefile.am): Likewise.
9040         * modules/getlogin_r (Makefile.am): Likewise.
9041         * modules/getndelim2 (Makefile.am): Likewise.
9042         * modules/getopt (Makefile.am): Likewise.
9043         * modules/getpagesize (Makefile.am): Likewise.
9044         * modules/getpass-gnu (Makefile.am): Likewise.
9045         * modules/getpass (Makefile.am): Likewise.
9046         * modules/getsubopt (Makefile.am): Likewise.
9047         * modules/gettime (Makefile.am): Likewise.
9048         * modules/gettimeofday (Makefile.am): Likewise.
9049         * modules/getugroups (Makefile.am): Likewise.
9050         * modules/getusershell (Makefile.am): Likewise.
9051         * modules/glob (Makefile.am): Likewise.
9052         * modules/group-member (Makefile.am): Likewise.
9053         * modules/hard-locale (Makefile.am): Likewise.
9054         * modules/hash (Makefile.am): Likewise.
9055         * modules/hmac-md5 (Makefile.am): Likewise.
9056         * modules/hmac-sha1 (Makefile.am): Likewise.
9057         * modules/human (Makefile.am): Likewise.
9058         * modules/idcache (Makefile.am): Likewise.
9059         * modules/imaxabs (Makefile.am): Likewise.
9060         * modules/imaxdiv (Makefile.am): Likewise.
9061         * modules/inet_ntop (Makefile.am): Likewise.
9062         * modules/inet_pton (Makefile.am): Likewise.
9063         * modules/intprops (Makefile.am): Likewise.
9064         * modules/inttostr (Makefile.am): Likewise.
9065         * modules/inttypes (Makefile.am): Likewise.
9066         * modules/isapipe (Makefile.am): Likewise.
9067         * modules/javaversion (Makefile.am): Likewise.
9068         * modules/lchmod (Makefile.am): Likewise.
9069         * modules/lchown (Makefile.am): Likewise.
9070         * modules/localcharset (Makefile.am): Likewise.
9071         * modules/long-options (Makefile.am): Likewise.
9072         * modules/lstat (Makefile.am): Likewise.
9073         * modules/malloc (Makefile.am): Likewise.
9074         * modules/mathl (Makefile.am): Likewise.
9075         * modules/mbchar (Makefile.am): Likewise.
9076         * modules/md2 (Makefile.am): Likewise.
9077         * modules/md4 (Makefile.am): Likewise.
9078         * modules/md5 (Makefile.am): Likewise.
9079         * modules/memcasecmp (Makefile.am): Likewise.
9080         * modules/memchr (Makefile.am): Likewise.
9081         * modules/memcmp (Makefile.am): Likewise.
9082         * modules/memcoll (Makefile.am): Likewise.
9083         * modules/memcpy (Makefile.am): Likewise.
9084         * modules/memmem (Makefile.am): Likewise.
9085         * modules/memmove (Makefile.am): Likewise.
9086         * modules/mempcpy (Makefile.am): Likewise.
9087         * modules/memrchr (Makefile.am): Likewise.
9088         * modules/memset (Makefile.am): Likewise.
9089         * modules/memxor (Makefile.am): Likewise.
9090         * modules/mkancesdirs (Makefile.am): Likewise.
9091         * modules/mkdir-p (Makefile.am): Likewise.
9092         * modules/mkdir (Makefile.am): Likewise.
9093         * modules/mkdtemp (Makefile.am): Likewise.
9094         * modules/mkstemp (Makefile.am): Likewise.
9095         * modules/mktime (Makefile.am): Likewise.
9096         * modules/modechange (Makefile.am): Likewise.
9097         * modules/mountlist (Makefile.am): Likewise.
9098         * modules/nanosleep (Makefile.am): Likewise.
9099         * modules/obstack (Makefile.am): Likewise.
9100         * modules/openat (Makefile.am): Likewise.
9101         * modules/pagealign_alloc (Makefile.am): Likewise.
9102         * modules/pathmax (Makefile.am): Likewise.
9103         * modules/physmem (Makefile.am): Likewise.
9104         * modules/poll (Makefile.am): Likewise.
9105         * modules/posixtm (Makefile.am): Likewise.
9106         * modules/posixver (Makefile.am): Likewise.
9107         * modules/putenv (Makefile.am): Likewise.
9108         * modules/quote (Makefile.am): Likewise.
9109         * modules/quotearg (Makefile.am): Likewise.
9110         * modules/raise (Makefile.am): Likewise.
9111         * modules/read-file (Makefile.am): Likewise.
9112         * modules/readline (Makefile.am): Likewise.
9113         * modules/readlink (Makefile.am): Likewise.
9114         * modules/readtokens (Makefile.am): Likewise.
9115         * modules/readutmp (Makefile.am): Likewise.
9116         * modules/realloc (Makefile.am): Likewise.
9117         * modules/regex (Makefile.am): Likewise.
9118         * modules/rename-dest-slash (Makefile.am): Likewise.
9119         * modules/rename (Makefile.am): Likewise.
9120         * modules/rijndael (Makefile.am): Likewise.
9121         * modules/rmdir (Makefile.am): Likewise.
9122         * modules/rpmatch (Makefile.am): Likewise.
9123         * modules/safe-read (Makefile.am): Likewise.
9124         * modules/safe-write (Makefile.am): Likewise.
9125         * modules/same-inode (Makefile.am): Likewise.
9126         * modules/same (Makefile.am): Likewise.
9127         * modules/save-cwd (Makefile.am): Likewise.
9128         * modules/savedir (Makefile.am): Likewise.
9129         * modules/setenv (Makefile.am): Likewise.
9130         * modules/settime (Makefile.am): Likewise.
9131         * modules/sha1 (Makefile.am): Likewise.
9132         * modules/sig2str (Makefile.am): Likewise.
9133         * modules/snprintf (Makefile.am): Likewise.
9134         * modules/stat-macros (Makefile.am): Likewise.
9135         * modules/stat-time (Makefile.am): Likewise.
9136         * modules/stdbool (Makefile.am): Likewise.
9137         * modules/stdint (Makefile.am): Likewise.
9138         * modules/stdlib-safer (Makefile.am): Likewise.
9139         * modules/stpcpy (Makefile.am): Likewise.
9140         * modules/stpncpy (Makefile.am): Likewise.
9141         * modules/strcase (Makefile.am): Likewise.
9142         * modules/strcasestr (Makefile.am): Likewise.
9143         * modules/strchrnul (Makefile.am): Likewise.
9144         * modules/strcspn (Makefile.am): Likewise.
9145         * modules/strdup (Makefile.am): Likewise.
9146         * modules/strerror (Makefile.am): Likewise.
9147         * modules/strftime (Makefile.am): Likewise.
9148         * modules/strndup (Makefile.am): Likewise.
9149         * modules/strnlen (Makefile.am): Likewise.
9150         * modules/strpbrk (Makefile.am): Likewise.
9151         * modules/strsep (Makefile.am): Likewise.
9152         * modules/strstr (Makefile.am): Likewise.
9153         * modules/strtod (Makefile.am): Likewise.
9154         * modules/strtoimax (Makefile.am): Likewise.
9155         * modules/strtok_r (Makefile.am): Likewise.
9156         * modules/strtol (Makefile.am): Likewise.
9157         * modules/strtoll (Makefile.am): Likewise.
9158         * modules/strtoul (Makefile.am): Likewise.
9159         * modules/strtoull (Makefile.am): Likewise.
9160         * modules/strtoumax (Makefile.am): Likewise.
9161         * modules/strverscmp (Makefile.am): Likewise.
9162         * modules/sys_socket (Makefile.am): Likewise.
9163         * modules/sys_stat (Makefile.am): Likewise.
9164         * modules/sysexits (Makefile.am): Likewise.
9165         * modules/time_r (Makefile.am): Likewise.
9166         * modules/timegm (Makefile.am): Likewise.
9167         * modules/timespec (Makefile.am): Likewise.
9168         * modules/tmpfile-safer (Makefile.am): Likewise.
9169         * modules/trim (Makefile.am): Likewise.
9170         * modules/unistd-safer (Makefile.am): Likewise.
9171         * modules/unlinkdir (Makefile.am): Likewise.
9172         * modules/unlocked-io (Makefile.am): Likewise.
9173         * modules/userspec (Makefile.am): Likewise.
9174         * modules/utime (Makefile.am): Likewise.
9175         * modules/utimecmp (Makefile.am): Likewise.
9176         * modules/utimens (Makefile.am): Likewise.
9177         * modules/vasnprintf (Makefile.am): Likewise.
9178         * modules/vasprintf (Makefile.am): Likewise.
9179         * modules/vsnprintf (Makefile.am): Likewise.
9180         * modules/xalloc (Makefile.am): Likewise.
9181         * modules/xgetcwd (Makefile.am): Likewise.
9182         * modules/xnanosleep (Makefile.am): Likewise.
9183         * modules/xreadlink (Makefile.am): Likewise.
9184         * modules/xstrtod (Makefile.am): Likewise.
9185         * modules/xstrtol (Makefile.am): Likewise.
9186         * modules/xstrtold (Makefile.am): Likewise.
9187         * modules/yesno (Makefile.am): Likewise.
9188         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
9189
9190 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
9191
9192         * modules/error (Makefile.am): Distribute files through
9193         EXTRA_DIST, not lib_SOURCES.
9194
9195 2006-10-12  Eric Blake  <ebb9@byu.net>
9196
9197         * modules/error (Makefile.am): Distribute files in /lib.
9198         * modules/obstack (Makefile.am): Likewise.
9199
9200 2006-10-12  Bruno Haible  <bruno@clisp.org>
9201
9202         * modules/acl (Makefile.am): Distribute all files in lib/ through
9203         EXTRA_DIST.
9204         * modules/arcfour (Makefile.am): Likewise.
9205         * modules/arctwo (Makefile.am): Likewise.
9206         * modules/argmatch (Makefile.am): Likewise.
9207         * modules/argz (Makefile.am): Likewise.
9208         * modules/atexit (Makefile.am): Likewise.
9209         * modules/backupfile (Makefile.am): Likewise.
9210         * modules/c-strtod (Makefile.am): Likewise.
9211         * modules/c-strtold (Makefile.am): Likewise.
9212         * modules/calloc (Makefile.am): Likewise.
9213         * modules/canon-host (Makefile.am): Likewise.
9214         * modules/canonicalize (Makefile.am): Likewise.
9215         * modules/chdir-long (Makefile.am): Likewise.
9216         * modules/chdir-safer (Makefile.am): Likewise.
9217         * modules/check-version (Makefile.am): Likewise.
9218         * modules/chown (Makefile.am): Likewise.
9219         * modules/cloexec (Makefile.am): Likewise.
9220         * modules/close-stream (Makefile.am): Likewise.
9221         * modules/closeout (Makefile.am): Likewise.
9222         * modules/crc (Makefile.am): Likewise.
9223         * modules/cycle-check (Makefile.am): Likewise.
9224         * modules/des (Makefile.am): Likewise.
9225         * modules/dirfd (Makefile.am): Likewise.
9226         * modules/dirname (Makefile.am): Likewise.
9227         * modules/dup2 (Makefile.am): Likewise.
9228         * modules/euidaccess (Makefile.am): Likewise.
9229         * modules/exclude (Makefile.am): Likewise.
9230         * modules/exitfail (Makefile.am): Likewise.
9231         * modules/fcntl-safer (Makefile.am): Likewise.
9232         * modules/file-type (Makefile.am): Likewise.
9233         * modules/fileblocks (Makefile.am): Likewise.
9234         * modules/filemode (Makefile.am): Likewise.
9235         * modules/filenamecat (Makefile.am): Likewise.
9236         * modules/fnmatch (Makefile.am): Likewise.
9237         * modules/fopen-safer (Makefile.am): Likewise.
9238         * modules/fpending (Makefile.am): Likewise.
9239         * modules/fprintftime (Makefile.am): Likewise.
9240         * modules/free (Makefile.am): Likewise.
9241         * modules/fsusage (Makefile.am): Likewise.
9242         * modules/ftruncate (Makefile.am): Likewise.
9243         * modules/fts (Makefile.am): Likewise.
9244         * modules/gc (Makefile.am): Likewise.
9245         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
9246         * modules/getaddrinfo (Makefile.am): Likewise.
9247         * modules/getcwd (Makefile.am): Likewise.
9248         * modules/getdelim (Makefile.am): Likewise.
9249         * modules/getdomainname (Makefile.am): Likewise.
9250         * modules/getgroups (Makefile.am): Likewise.
9251         * modules/gethostname (Makefile.am): Likewise.
9252         * modules/gethrxtime (Makefile.am): Likewise.
9253         * modules/getline (Makefile.am): Likewise.
9254         * modules/getloadavg (Makefile.am): Likewise.
9255         * modules/getlogin_r (Makefile.am): Likewise.
9256         * modules/getopt (Makefile.am): Likewise.
9257         * modules/getpass (Makefile.am): Likewise.
9258         * modules/getpass-gnu (Makefile.am): Likewise.
9259         * modules/getsubopt (Makefile.am): Likewise.
9260         * modules/gettime (Makefile.am): Likewise.
9261         * modules/gettimeofday (Makefile.am): Likewise.
9262         * modules/getugroups (Makefile.am): Likewise.
9263         * modules/getusershell (Makefile.am): Likewise.
9264         * modules/glob (Makefile.am): Likewise.
9265         * modules/group-member (Makefile.am): Likewise.
9266         * modules/hard-locale (Makefile.am): Likewise.
9267         * modules/hash (Makefile.am): Likewise.
9268         * modules/hmac-md5 (Makefile.am): Likewise.
9269         * modules/hmac-sha1 (Makefile.am): Likewise.
9270         * modules/human (Makefile.am): Likewise.
9271         * modules/idcache (Makefile.am): Likewise.
9272         * modules/imaxabs (Makefile.am): Likewise.
9273         * modules/imaxdiv (Makefile.am): Likewise.
9274         * modules/inet_ntop (Makefile.am): Likewise.
9275         * modules/inet_pton (Makefile.am): Likewise.
9276         * modules/inttostr (Makefile.am): Likewise.
9277         * modules/isapipe (Makefile.am): Likewise.
9278         * modules/lchown (Makefile.am): Likewise.
9279         * modules/long-options (Makefile.am): Likewise.
9280         * modules/lstat (Makefile.am): Likewise.
9281         * modules/malloc (Makefile.am): Likewise.
9282         * modules/mathl (Makefile.am): Likewise.
9283         * modules/mbchar (Makefile.am): Likewise.
9284         * modules/md2 (Makefile.am): Likewise.
9285         * modules/md4 (Makefile.am): Likewise.
9286         * modules/md5 (Makefile.am): Likewise.
9287         * modules/memcasecmp (Makefile.am): Likewise.
9288         * modules/memchr (Makefile.am): Likewise.
9289         * modules/memcmp (Makefile.am): Likewise.
9290         * modules/memcoll (Makefile.am): Likewise.
9291         * modules/memcpy (Makefile.am): Likewise.
9292         * modules/memmem (Makefile.am): Likewise.
9293         * modules/memmove (Makefile.am): Likewise.
9294         * modules/mempcpy (Makefile.am): Likewise.
9295         * modules/memrchr (Makefile.am): Likewise.
9296         * modules/memset (Makefile.am): Likewise.
9297         * modules/memxor (Makefile.am): Likewise.
9298         * modules/mkancesdirs (Makefile.am): Likewise.
9299         * modules/mkdir (Makefile.am): Likewise.
9300         * modules/mkdir-p (Makefile.am): Likewise.
9301         * modules/mkdtemp (Makefile.am): Likewise.
9302         * modules/mkstemp (Makefile.am): Likewise.
9303         * modules/mktime (Makefile.am): Likewise.
9304         * modules/modechange (Makefile.am): Likewise.
9305         * modules/mountlist (Makefile.am): Likewise.
9306         * modules/nanosleep (Makefile.am): Likewise.
9307         * modules/openat (Makefile.am): Likewise.
9308         * modules/pagealign_alloc (Makefile.am): Likewise.
9309         * modules/physmem (Makefile.am): Likewise.
9310         * modules/poll (Makefile.am): Likewise.
9311         * modules/posixtm (Makefile.am): Likewise.
9312         * modules/posixver (Makefile.am): Likewise.
9313         * modules/putenv (Makefile.am): Likewise.
9314         * modules/quote (Makefile.am): Likewise.
9315         * modules/quotearg (Makefile.am): Likewise.
9316         * modules/raise (Makefile.am): Likewise.
9317         * modules/read-file (Makefile.am): Likewise.
9318         * modules/readline (Makefile.am): Likewise.
9319         * modules/readlink (Makefile.am): Likewise.
9320         * modules/readtokens (Makefile.am): Likewise.
9321         * modules/readutmp (Makefile.am): Likewise.
9322         * modules/realloc (Makefile.am): Likewise.
9323         * modules/regex (Makefile.am): Likewise.
9324         * modules/rename (Makefile.am): Likewise.
9325         * modules/rename-dest-slash (Makefile.am): Likewise.
9326         * modules/rijndael (Makefile.am): Likewise.
9327         * modules/rmdir (Makefile.am): Likewise.
9328         * modules/rpmatch (Makefile.am): Likewise.
9329         * modules/safe-read (Makefile.am): Likewise.
9330         * modules/safe-write (Makefile.am): Likewise.
9331         * modules/same (Makefile.am): Likewise.
9332         * modules/save-cwd (Makefile.am): Likewise.
9333         * modules/savedir (Makefile.am): Likewise.
9334         * modules/setenv (Makefile.am): Likewise.
9335         * modules/settime (Makefile.am): Likewise.
9336         * modules/sha1 (Makefile.am): Likewise.
9337         * modules/sig2str (Makefile.am): Likewise.
9338         * modules/snprintf (Makefile.am): Likewise.
9339         * modules/stdlib-safer (Makefile.am): Likewise.
9340         * modules/stpcpy (Makefile.am): Likewise.
9341         * modules/stpncpy (Makefile.am): Likewise.
9342         * modules/strcase (Makefile.am): Likewise.
9343         * modules/strcasestr (Makefile.am): Likewise.
9344         * modules/strchrnul (Makefile.am): Likewise.
9345         * modules/strcspn (Makefile.am): Likewise.
9346         * modules/strdup (Makefile.am): Likewise.
9347         * modules/strerror (Makefile.am): Likewise.
9348         * modules/strftime (Makefile.am): Likewise.
9349         * modules/strndup (Makefile.am): Likewise.
9350         * modules/strnlen (Makefile.am): Likewise.
9351         * modules/strpbrk (Makefile.am): Likewise.
9352         * modules/strsep (Makefile.am): Likewise.
9353         * modules/strstr (Makefile.am): Likewise.
9354         * modules/strtod (Makefile.am): Likewise.
9355         * modules/strtoimax (Makefile.am): Likewise.
9356         * modules/strtok_r (Makefile.am): Likewise.
9357         * modules/strtol (Makefile.am): Likewise.
9358         * modules/strtoll (Makefile.am): Likewise.
9359         * modules/strtoul (Makefile.am): Likewise.
9360         * modules/strtoull (Makefile.am): Likewise.
9361         * modules/strtoumax (Makefile.am): Likewise.
9362         * modules/strverscmp (Makefile.am): Likewise.
9363         * modules/time_r (Makefile.am): Likewise.
9364         * modules/timegm (Makefile.am): Likewise.
9365         * modules/tmpfile-safer (Makefile.am): Likewise.
9366         * modules/unistd-safer (Makefile.am): Likewise.
9367         * modules/unlinkdir (Makefile.am): Likewise.
9368         * modules/userspec (Makefile.am): Likewise.
9369         * modules/utime (Makefile.am): Likewise.
9370         * modules/utimecmp (Makefile.am): Likewise.
9371         * modules/utimens (Makefile.am): Likewise.
9372         * modules/vasnprintf (Makefile.am): Likewise.
9373         * modules/vasprintf (Makefile.am): Likewise.
9374         * modules/vsnprintf (Makefile.am): Likewise.
9375         * modules/xalloc (Makefile.am): Likewise.
9376         * modules/xgetcwd (Makefile.am): Likewise.
9377         * modules/xnanosleep (Makefile.am): Likewise.
9378         * modules/xreadlink (Makefile.am): Likewise.
9379         * modules/xstrtod (Makefile.am): Likewise.
9380         * modules/xstrtol (Makefile.am): Likewise.
9381         * modules/xstrtold (Makefile.am): Likewise.
9382         * modules/yesno (Makefile.am): Likewise.
9383
9384 2006-10-12  Jim Meyering  <jim@meyering.net>
9385
9386         * m4/getloadavg.m4: Revert the change below.
9387
9388         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
9389         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
9390         fail with a symlink, which is what coreutils' ./bootstrap now
9391         creates by default.
9392
9393 2006-10-12  Bruno Haible  <bruno@clisp.org>
9394
9395         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
9396         mingw.
9397         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
9398         MSVC and mingw explicitly.
9399
9400 2006-10-11  Simon Josefsson  <jas@extundo.com>
9401             Bruno Haible  <bruno@clisp.org>
9402
9403         Add support for multiple gnulib-tool invocations in the scope of a
9404         single configure.ac file.
9405         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
9406         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
9407         with the same contents as the _LIBADD variable.
9408         (func_emit_initmacro_start, func_emit_initmacro_end,
9409         func_emit_initmacro_done): New functions.
9410         (func_import, func_create_testdir): Invoke them. Allow the identifiers
9411         gl_LIBOBJS and gl_LTLIBOBJS.
9412
9413 2006-10-11  Bruno Haible  <bruno@clisp.org>
9414
9415         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
9416         (func_create_testdir): Don't create po/Makefile.am, don't invoke
9417         autoreconf. Instead, invoke autopoint explicitly but move back the
9418         *.m4 files from gnulib.
9419
9420 2006-10-11  Bruno Haible  <bruno@clisp.org>
9421
9422         * gnulib-tool (func_usage): Make module names after --create-testdir
9423         optional.
9424         (func_create_testdir): If no module was specified, use nearly all
9425         modules.
9426
9427 2006-10-12  Jim Meyering  <jim@meyering.net>
9428
9429         Big performance improvement for fts-based tools that use FTS_NOSTAT.
9430         Avoid spurious inode-mismatch problems on non-POSIX file systems.
9431         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
9432         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
9433         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
9434         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
9435         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
9436         (fts_set_stat_required): New function.
9437         (fts_open): Defer the calls to fts_stat, if possible or requested.
9438         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
9439         into fts_stat itself.
9440         (fts_read): Perform any required (deferred) fts_stat call.
9441         (fts_build): Likewise, for the directory we're about to open and read.
9442         In the readdir loop, carefully decide whether each entry will require
9443         an eventual call to fts_stat, using dirent.d_type info if available.
9444         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
9445         a command line argument into this function.  Update all callers.
9446         Map a return value of FTS_DOT to FTS_D for a command line argument.
9447         * modules/fts (Depends-on): Add d-type.  Alphabetize.
9448         Thanks to Miklos Szeredi for his tenacity and for the initial
9449         bug report about "find" failing on a FUSE-based file system.
9450
9451         * lib/fts.c (fts_open): Use consistent indentation.
9452
9453 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
9454
9455         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
9456         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
9457         reported by Jim Meyering.  All uses of cache variables renamed
9458         to match Autoconf's.
9459         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
9460         the other one.
9461
9462         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
9463         Fix misspelling in diagnostic.
9464
9465 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
9466
9467         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
9468         defined.  Problem reported by Matthew Woehlke.
9469
9470         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
9471         Add support for Tandem NonStop R series.
9472         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
9473         Use new macro.
9474
9475         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
9476         (has_trailing_slash): Omit size arg; all callers changed.
9477         Omit 'inline', since it doesn't help performance and we'd
9478         need to configure it.
9479         Don't count //, ///, etc. as having a trailing slash.
9480         As a side effect, this removes a C99ism reported by Matthew Woehlke.
9481         (rpl_rename_dest_slash): On failure, use rename's errno rather
9482         than (in some cases) an incorrect or junk errno.
9483         Simplify code by removing need to compute length; this does
9484         cause it to make two passes instead of one over the file name,
9485         but it's worth it.
9486
9487         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
9488         change, since Autoconf's version may no longer be appropriate now
9489         that we are using CVS Autoconf's version.  Add support for Tandem.
9490
9491 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
9492             Bruno Haible  <bruno@clisp.org>
9493
9494         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
9495         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
9496         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
9497         gl_AC_TYPE_LONG_LONG.
9498
9499         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
9500         instead of HAVE_LONG_LONG.
9501         * lib/printf-args.c (printf_fetchargs): Likewise.
9502         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
9503         * lib/vasnprintf.c (VASNPRINTF): Likewise.
9504         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
9505         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
9506         gl_AC_TYPE_LONG_LONG.
9507
9508 2006-10-11  Bruno Haible  <bruno@clisp.org>
9509
9510         * m4/longlong.m4: Add comments.
9511         * m4/ulonglong.m4: Likewise.
9512
9513 2006-10-10  Bruno Haible  <bruno@clisp.org>
9514
9515         Make it possible to #define stpcpy, strdup to aliases.
9516         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
9517         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
9518
9519 2006-10-10  Bruno Haible  <bruno@clisp.org>
9520
9521         Make it possible to #define gcd to an alias.
9522         * lib/gcd.c: Include config.h.
9523
9524 2006-10-10  Bruno Haible  <bruno@clisp.org>
9525
9526         Make it possible to #define c_isascii to an alias.
9527         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
9528         defined. Undefine the macros before defining them, to avoid gcc
9529         warnings.
9530         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
9531         define NO_C_CTYPE_MACROS early.
9532
9533 2006-10-10  Bruno Haible  <bruno@clisp.org>
9534
9535         Make it possible to #define set_program_name to an alias.
9536         * lib/progname.c: Don't undefine set_program_name; instead, undefine
9537         ENABLE_RELOCATABLE early.
9538
9539 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
9540
9541         Port to Tandem NSK OSS, which has 64-bit signed int but at most
9542         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
9543         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
9544         More generally, don't assume that 64-bit signed int is available
9545         if unsigned int is, and vice versa.
9546         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
9547         unsigned symbols, not on their signed counterparts.
9548         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
9549         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
9550         (UINT64_C, UINTMAX_C):
9551         Likewise.
9552         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
9553         unsigned counterparts.
9554         (Have_long_long, Unsigned): New macros.
9555         (Int): Renamed from INT.
9556         (strtoimax): Use the new macros.
9557         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
9558         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
9559         * modules/inttypes (inttypes.h): Substitute
9560         HAVE_UNSIGNED_LONG_LONG_INT.
9561         * modules/stdint (stdint.h): Likewise.
9562         (Files): Add m4/ulonglong.m4.
9563
9564 2006-10-10  Bruno Haible  <bruno@clisp.org>
9565
9566         Fix a gcc -Wshadow warning.
9567         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
9568         to 'bucket'.
9569         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
9570         gl_linked_indexof_from_to): Likewise.
9571         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
9572         Likewise.
9573         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
9574         Likewise.
9575         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
9576         Reported by Eric Blake.
9577
9578 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
9579
9580         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
9581         for NetBSD.  Problem reported by Bruno Haible.
9582
9583 2006-10-09  Jim Meyering  <jim@meyering.net>
9584
9585         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
9586         Patch from Bruno Haible.
9587
9588 2006-10-09  Jim Meyering  <jim@meyering.net>
9589
9590         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
9591         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
9592         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
9593
9594 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
9595
9596         Don't include <config.h> twice; this doesn't work in some cases,
9597         e.g., when config.h has "#define intmax_t long long int" and
9598         we include <config.h>, <inttypes.h>, <config.h> in that order.
9599         Problem reported by Matthew Woehlke in:
9600         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
9601         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
9602         * lib/fts-cycle.c: Don't include config.h.
9603         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
9604         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
9605         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
9606         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
9607         inttypes.h.
9608         * lib/xstrtoumax.c: Likewise.
9609         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
9610         __strtol and the like, so that this module is more like its siblings.
9611         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
9612         Remove; no longer needed now that we assume gnulib inttypes.h.
9613
9614 2006-10-08  Bruno Haible  <bruno@clisp.org>
9615
9616         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
9617         option.
9618
9619 2006-10-07  Jim Meyering  <jim@meyering.net>
9620
9621         * modules/inttypes (inttypes.h): Revert what seems to have been
9622         an inadvertent part of today's change: use "|", not "/" in the
9623         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
9624
9625 2006-10-07  Bruno Haible  <bruno@clisp.org>
9626
9627         * modules/sublist: New file.
9628
9629 2006-10-07  Bruno Haible  <bruno@clisp.org>
9630
9631         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
9632         * modules/argz (argz.h): Likewise.
9633         * modules/arpa_inet (arpa/inet.h): Likewise.
9634         * modules/byteswap (byteswap.h): Likewise.
9635         * modules/configmake (configmake.h): Likewise.
9636         * modules/fcntl (fcntl.h): Likewise.
9637         * modules/fnmatch (fnmatch.h): Likewise.
9638         * modules/getopt (getopt.h): Likewise.
9639         * modules/glob (glob.h): Likewise.
9640         * modules/inttypes (inttypes.h): Likewise.
9641         * modules/netinet_in (netinet/in.h): Likewise.
9642         * modules/poll (poll.h): Likewise.
9643         * modules/stdbool (stdbool.h): Likewise.
9644         * modules/stdint (stdint.h): Likewise.
9645         * modules/sys_select (sys/select.h): Likewise.
9646         * modules/sys_socket (sys/socket.h): Likewise.
9647         * modules/sys_stat (sys/stat.h): Likewise.
9648         * modules/sysexits (sysexits.h): Likewise.
9649         * modules/unistd (unistd.h): Likewise.
9650         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
9651         Add a "DO NOT EDIT" comment to the generated file.
9652         (func_import): Likewise for gnulib-comp.m4.
9653
9654 2006-10-07  Bruno Haible  <bruno@clisp.org>
9655
9656         * lib/gl_sublist.h: New file.
9657         * lib/gl_sublist.c: New file.
9658
9659 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
9660
9661         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
9662         name (relative to the original working directory) and the file
9663         name component (relative to the temporary working directory).  All
9664         callers changed.
9665         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
9666         * lib/mkdir-p.c (make_dir_parents): Likewise.
9667         * lib/mkdir-p.h (make_dir_parents): Likewise.
9668
9669 2006-10-06  Eric Blake  <ebb9@byu.net>
9670
9671         Define several macros for use by the clean-temp module.
9672         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
9673         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
9674         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
9675
9676         * lib/clean-temp.h (close_stream_temp): New declaration.
9677         * lib/clean-temp.c (includes): Pull in headers according to what
9678         other modules are in use.
9679         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
9680
9681 2006-10-06  Bruno Haible  <bruno@clisp.org>
9682
9683         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
9684         instead of fopen, fwriteerror.
9685
9686 2006-10-06  Bruno Haible  <bruno@clisp.org>
9687
9688         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
9689         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
9690         int.
9691         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
9692         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
9693         Return an error indicator.
9694         Suggested by Eric Blake.
9695
9696 2006-10-06  Bruno Haible  <bruno@clisp.org>
9697
9698         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
9699         Reported by Eric Blake.
9700
9701 2006-10-06  Bruno Haible  <bruno@clisp.org>
9702
9703         * modules/closeout (Description): Mention stderr too.
9704
9705 2006-10-06  Bruno Haible  <bruno@clisp.org>
9706         and Paul Eggert  <eggert@cs.ucla.edu>
9707
9708         * lib/closeout.c (close_stdout): Also close stderr.
9709         * lib/closeout.h: Update comment.
9710
9711 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
9712
9713         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
9714         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
9715         * lib/dirchownmod.c: Include lchown.h.
9716         * lib/lchown.c: Don't include files that lchown.h now includes.
9717         Don't declare chown, since lchown.h now does that.
9718         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
9719         (lchown): Define to rpl_chown if lchown is declared but
9720         does not exist.  Declare using a prototype if lchown is not
9721         declared.  Add a copyright notice.
9722         * lib/mkstemp.h: Include <unistd.h>.
9723         * lib/openat.c: Include lchown.h.
9724
9725         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
9726         we now test for that separately.
9727         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
9728         rather than O_NOFOLLOW, when testing whether it's possible to
9729         avoid a race condition reliably.
9730         * lib/savewd.c (savewd_chdir): Likewise.
9731
9732         Remove macros that are no longer needed now that stdint.h is
9733         reliable.
9734         * lib/fsusage.c (UINTMAX_MAX): Remove.
9735         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
9736         * lib/utimecmp.c (SIZE_MAX): Remove.
9737
9738         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
9739
9740         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
9741         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
9742         O_NOATIME works.
9743
9744 2006-10-05  Bruno Haible  <bruno@clisp.org>
9745
9746         * lib/gl_list.h (gl_sortedlist_search_from_to,
9747         gl_sortedlist_indexof_from_to): New declarations.
9748         (gl_list_implementation): New fields sortedlist_search_from_to,
9749         sortedlist_indexof_from_to.
9750         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
9751         inline functions.
9752         * lib/gl_list.c (gl_sortedlist_search_from_to,
9753         gl_sortedlist_indexof_from_to): New functions.
9754         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
9755         function.
9756         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
9757         (gl_array_sortedlist_search_from_to): New function.
9758         (gl_array_list_implementation): Update.
9759         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
9760         function.
9761         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
9762         (gl_carray_sortedlist_search_from_to): New function.
9763         (gl_carray_list_implementation): Update.
9764         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
9765         gl_linked_sortedlist_indexof_from_to): New functions.
9766         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
9767         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
9768         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
9769         gl_tree_sortedlist_indexof_from_to): New functions.
9770         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
9771         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
9772         Update.
9773         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
9774         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
9775         Update.
9776
9777 2006-10-05  Bruno Haible  <bruno@clisp.org>
9778
9779         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
9780         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
9781         (struct gl_list_implementation): Add fields search_from_to,
9782         indexof_from_to. Remove fields search, indexof.
9783         (gl_list_search): Use the search_from_to method.
9784         (gl_list_search_from, gl_list_search_from_to): New functions.
9785         (gl_list_indexof): Use the indexof_from_to method.
9786         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
9787         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
9788         (gl_list_search_from, gl_list_search_from_to): New functions.
9789         (gl_list_indexof): Use the indexof_from_to method.
9790         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
9791         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
9792         gl_array_indexof. Add start_index, end_index arguments.
9793         (gl_array_search_from_to): Renamed from gl_array_search. Add
9794         start_index, end_index arguments.
9795         (gl_array_remove, gl_array_list_implementation): Update.
9796         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
9797         gl_carray_indexof. Add start_index, end_index arguments.
9798         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
9799         start_index, end_index arguments.
9800         (gl_carray_remove, gl_carray_list_implementation): Update.
9801         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
9802         gl_linked_search. Add start_index, end_index arguments.
9803         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
9804         start_index, end_index arguments.
9805         (gl_linked_remove): Update.
9806         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
9807         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
9808         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
9809         field to 'size_t'.
9810         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
9811         gl_tree_search. Add start_index, end_index arguments.
9812         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
9813         start_index, end_index arguments.
9814         (gl_tree_remove): Update.
9815         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
9816         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
9817         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
9818         function.
9819         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
9820         gl_tree_search. Add start_index, end_index arguments.
9821         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
9822         start_index, end_index arguments.
9823         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
9824         Update.
9825         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
9826
9827 2006-10-05  Bruno Haible  <bruno@clisp.org>
9828
9829         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
9830
9831         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
9832         fwriteerror_temp): New declarations.
9833         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
9834         (descriptors): New variable.
9835         (cleanup): First, close the descriptors.
9836         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
9837         fclose_temp, fwriteerror_temp): New functions.
9838
9839 2006-10-04  Jim Meyering  <jim@meyering.net>
9840
9841         * lib/fts.c (fts_open): Tiny comment change.
9842
9843 2006-10-04  Bruno Haible  <bruno@clisp.org>
9844
9845         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
9846         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
9847         gl_LOCK_BODY.
9848         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
9849         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
9850         gl_LOCK_EARLY_BODY.
9851         (gl_LOCK): Require gl_LOCK_BODY.
9852
9853 2006-10-04  Bruno Haible  <bruno@clisp.org>
9854
9855         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
9856         (gl_oset_search_atleast): New declaration.
9857         (struct gl_oset_implementation): Add field 'search_atleast'.
9858         (gl_oset_search_atleast): New inline function.
9859         * lib/gl_oset.c (gl_oset_search_atleast): New function.
9860         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
9861         (gl_array_oset_implementation): Update.
9862         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
9863         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
9864         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
9865
9866 2006-10-04  Bruno Haible  <bruno@clisp.org>
9867
9868         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
9869
9870 2006-10-03  Bruno Haible  <bruno@clisp.org>
9871
9872         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
9873         from gl_avltreehash_list_implementation.
9874
9875 2006-10-03  Bruno Haible  <bruno@clisp.org>
9876
9877         * lib/gl_oset.c (gl_oset_add): Fix return type.
9878
9879 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
9880
9881         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
9882
9883 2006-10-02  Eric Blake  <ebb9@byu.net>
9884
9885         * modules/strnlen (Depends-on): Add extensions.
9886
9887 2006-10-02  Eric Blake  <ebb9@byu.net>
9888
9889         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
9890         definition in 2.60+.
9891
9892 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
9893
9894         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
9895         checks.
9896
9897 2006-10-02  Bruno Haible  <bruno@clisp.org>
9898
9899         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
9900         to the AUTOMAKE_OPTIONS.
9901         Reported by Jim Meyering.
9902
9903 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
9904
9905         Work around bug in Solaris 10 /proc file system:
9906         /proc/self/fd/NNN/.. isn't the parent directory of
9907         the directory whose file descriptor is NNN.  This needs to
9908         be worked around at run time, not compile time, since a
9909         program might be built on Solaris 8, where things work, and
9910         run on Solaris 10.
9911         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
9912         to use the following interface instead:
9913         (OPENAT_BUFFER_SIZE): New macro.
9914         (openat_proc_name): New function.
9915         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
9916         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
9917         Likewise.
9918         * lib/openat-proc.c: New file.
9919         * modules/openat (Files): Add lib/openat-proc.c.
9920         (Depends-on): Add same-inode, stdbool.
9921         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
9922
9923 2006-09-29  Bruno Haible  <bruno@clisp.org>
9924
9925         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
9926         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
9927         argument. Set stdout_closed before testing for ferror, not after.
9928         (fwriteerror, fwriteerror_no_ebadf): New functions.
9929
9930 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9931
9932         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
9933
9934 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
9935
9936         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
9937         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
9938
9939 2006-09-28  Jim Meyering  <jim@meyering.net>
9940
9941         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
9942         Include <unistd.h>.
9943
9944 2006-09-28  Bruno Haible  <bruno@clisp.org>
9945
9946         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
9947         * modules/linkedhash-list (Depends-on): Likewise.
9948         * modules/rbtreehash-list (Depends-on): Likewise.
9949
9950 2006-09-28  Bruno Haible  <bruno@clisp.org>
9951
9952         * lib/strndup.h: Simplify the redefinition of strndup.
9953         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
9954         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
9955
9956 2006-09-28  Bruno Haible  <bruno@clisp.org>
9957
9958         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
9959         * lib/gl_linkedhash_list.c: Likewise.
9960         * lib/gl_rbtreehash_list.c: Likewise.
9961
9962 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
9963
9964         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
9965         getaddrinfo.
9966
9967         * lib/__fpending.h: Don't include <stdio_ext.h> unless
9968         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
9969         it causes <stdio_ext.h> to cause a compile-time error.
9970         Problem reported by Nelson H. F. Beebe.
9971         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
9972         of HAVE_DECL___PENDING.
9973
9974         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
9975         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
9976         declaration.
9977
9978 2006-09-27  Jim Meyering  <jim@meyering.net>
9979
9980         This file could end up with a definition for a function
9981         named __strndup, rather than rpl_strndup on a system with
9982         incomplete weak_alias support.
9983         * lib/strndup.c (strndup): Rename from __strndup.
9984         Remove #defines that used to map __strndup to strndup.
9985         Don't use K&R prototypes.
9986         Remove LIBC-related code, since this file is not sync'd with glibc.
9987         * lib/strndup.h: Revamp, accordingly.
9988         * m4/strndup.m4: Modernize.
9989
9990 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
9991
9992         * modules/savewd (Depends-on): Add 'raise'.
9993         * lib/savewd.c: Include <signal.h>, for 'raise'.
9994
9995 2006-09-26  Jim Meyering  <jim@meyering.net>
9996
9997         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
9998         when we detect Darwin 8.7.0's acl_get_file bug.
9999         Rearrange to perform the new (below) run-test while $LIBS
10000         contains any acl-related library.  Set USE_ACL at the end.
10001         (gl_ACL_GET_FILE): New function.
10002
10003 2006-09-26  Eric Blake  <ebb9@byu.net>
10004
10005         * lib/verror.c: Include <config.h> unconditionally.
10006
10007 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
10008
10009         * modules/clock-time (Maintainer): Add self.
10010         * modules/getlogin_r (Depends-on): Add extensions.
10011
10012 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10013
10014         * modules/clock-time: New module.
10015         * modules/nanosleep (Depends-on): Add clock-time.
10016         * modules/gethrxtime (Depends-on): Likewise.
10017         * modules/gettime (Depends-on): Likewise.
10018         * modules/settime (Depends-on): Likewise.
10019
10020         * modules/fts-lgpl: Depend on openat.
10021         * modules/mkancesdirs: Depend on savewd.
10022         * modules/mkdir-p: Likewise.
10023
10024 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10025
10026         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
10027
10028         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
10029         `gl_have_arbitrary_file_name_length_limit' to
10030         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
10031         actually works between configure runs.
10032
10033 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10034             Bruno Haible  <bruno@clisp.org>
10035
10036         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
10037
10038 2006-09-25  Jim Meyering  <jim@meyering.net>
10039
10040         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
10041         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
10042
10043 2006-09-25  Eric Blake  <ebb9@byu.net>
10044
10045         * gnulib-tool (func_import, func_create_testdir): Fix typos in
10046         exec's in 2006-09-18 patch when shuffling fds.
10047
10048 2006-09-25  Bruno Haible  <bruno@clisp.org>
10049
10050         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
10051         Reported by Jim Meyering.
10052
10053 2006-09-24  Jim Meyering  <jim@meyering.net>
10054
10055         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
10056         compare a pointer against a literal "0".  That caused failures with
10057         at least HP-UX's hpcc.
10058
10059 2006-09-22  Simon Josefsson  <jas@extundo.com>
10060
10061         * modules/gc-sha1:
10062         * modules/gc-md4:
10063         * modules/gc-hmac-sha1:
10064         * modules/gc-hmac-md5:
10065         * modules/gc-des:
10066         * modules/gc-arcfour: Distribute more files.
10067
10068 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10069
10070         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
10071         (gl_linked_iterator_from_to): Initialize struct completely.
10072         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
10073         (gl_tree_iterator_from_to): Likewise
10074         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
10075         * lib/gl_array_list.c [lint] (gl_array_iterator)
10076         (gl_array_iterator_from_to): Likewise.
10077         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
10078         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
10079         (gl_carray_iterator_from_to): Likewise.
10080
10081         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
10082         * lib/md4.c (md4_process_block): Remove unused variable.
10083         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
10084         parentheses for clarity.
10085
10086 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10087
10088         * modules/bison-i18n (Depends-on): Add gettext.
10089
10090 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10091
10092         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
10093         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
10094         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
10095         also add missing comma that caused broken test.
10096         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
10097         stdlib.h, for `abort'.
10098         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
10099         variables.
10100         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
10101         include unistd.h if present, for `rmdir'.
10102         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
10103         variables.
10104         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
10105         in the process include standard headers for prototypes.
10106         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
10107         gets declared on GNU/Linux.
10108         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
10109         unistd.h, for `rmdir'.
10110         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
10111
10112         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
10113         always true.
10114         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
10115
10116         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
10117
10118 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10119
10120         * gnulib-tool (func_version): Create output all at once.  This
10121         may help avoid triggering unnecessary SIGPIPEs, and at any
10122         rate it doesn't hurt.
10123
10124 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10125             Bruno Haible  <bruno@clisp.org>
10126
10127         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
10128         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
10129         * m4/signed.m4 (bh_C_SIGNED): Likewise.
10130
10131         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
10132         (gl_FUNC_VASPRINTF): Invoke it.
10133
10134 2006-09-22  Bruno Haible  <bruno@clisp.org>
10135
10136         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
10137         getloadavg.c as first argument.
10138
10139 2006-09-22  Bruno Haible  <bruno@clisp.org>
10140
10141         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
10142         at the beginning of the gl_INIT macro.
10143         * modules/getloadavg (configure.ac): Pass $gl_source_base to
10144         gl_GETLOADAVG.
10145
10146 2006-09-22  Bruno Haible  <bruno@clisp.org>
10147
10148         * gnulib-tool (func_create_megatestdir): Don't include the config-h
10149         module.
10150         Suggested by Ralf Wildenhues.
10151
10152 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
10153
10154         Import this patch from libc:
10155
10156         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
10157
10158         * lib/regex_internal.c (re_string_reconstruct): Handle
10159         offset < pstr->valid_raw_len && pstr->offsets_needed case.
10160         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
10161         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
10162         re_string_context_at.
10163
10164         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
10165         now requires it.
10166         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
10167         gl_REGEX now does it for us.
10168         (gl_REGEX): Add test taken from
10169         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
10170
10171         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
10172         Check that large offsets work.  Modernize Autoconf usages.
10173         Prefer "yes" to mean a good thing rather than a bad.
10174         Don't put "#define mkstemp" in config.h, as this might interfere
10175         with standard system headers that "#define mkstemp mkstemp64".
10176
10177         * modules/mkstemp (Depends-on): Add extensions, so that
10178         mkstemp is visible on some platforms.
10179         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
10180         (Include): Change to "mkstemp.h" from <stdlib.h>.
10181         (Files): Add mkstemp.h.
10182
10183         * lib/mkstemp.h: New file, since some standard headers
10184         #define mkstemp.
10185         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
10186         Include "mkstemp.h".
10187         Make the _LIBC code resemble glibc original more,
10188         e.g., use K&R style.
10189         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
10190         (mkstemp): Remove, since mkstemp.h does this for us.
10191         * lib/stdlib--.h: Include mkstemp.h.
10192
10193         Import this patch from libc:
10194
10195         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
10196
10197         * lib/tempname.c (__gen_tempname): Change attempts_min
10198         into a macro.  Use preprocessor to decide how to initialize
10199         attempts [Coverity CID 67].
10200
10201 2006-09-20  Bruno Haible  <bruno@clisp.org>
10202
10203         * lib/mkdtemp.c: Import from libc.
10204         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
10205                 * sysdeps/posix/tempname.c (__gen_tempname): Change
10206                 attempts_min into a macro.  Use preprocessor to decide how to
10207                 initialize attempts [Coverity CID 67].
10208         2001-11-27  Paul Eggert  <eggert@twinsun.com>
10209                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
10210                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
10211
10212 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10213
10214         * gnulib-tool (func_exit): New function, to allow to pass the
10215         exit status portably through the trap.  Use everywhere.
10216         (--help, --version): Signal a write error.
10217         (trap): catch SIGPIPE, for write errors.
10218         Exit at the end of the trap, with the correct exit status.
10219
10220 2006-09-19  Karl Berry  <karl@gnu.org>
10221
10222         * doc/gnulib.texi: note about the license texinfo files.
10223
10224 2006-09-19  Eric Blake  <ebb9@byu.net>
10225
10226         * gnulib-tool: Avoid space-tab.
10227
10228 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10229
10230         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
10231         that prevented coreutils 6.1 from building.  Problem reported
10232         by Petter Reinholdtsen.
10233
10234 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10235
10236         * gnulib-tool (avoidlist): Fix typo that broke options like
10237         --avoid=lock that are used by coreutils bootstrap.
10238
10239 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
10240
10241         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
10242         more systematically.
10243
10244 2006-09-18  Jim Meyering  <jim@meyering.net>
10245
10246         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
10247
10248 2006-09-18  Bruno Haible  <bruno@clisp.org>
10249
10250         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
10251
10252 2006-09-18  Bruno Haible  <bruno@clisp.org>
10253
10254         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
10255         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
10256         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
10257         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
10258         * m4/gettext.m4: Require autoconf >= 2.52.
10259         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
10260         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
10261         of gl_cv_header_inttypes_h.
10262
10263 2006-09-18  Bruno Haible  <bruno@clisp.org>
10264
10265         * lib/javaversion.c: Include configmake.h.
10266
10267 2006-09-18  Bruno Haible  <bruno@clisp.org>
10268
10269         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
10270         avoid that the while loops be executed in a subshell.
10271
10272 2006-09-18  Bruno Haible  <bruno@clisp.org>
10273
10274         * MODULES.html.sh (func_module): Break long lines.
10275         Suggested by Bruce Korb <bkorb@gnu.org>.
10276
10277 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10278
10279         Speed up by a factor of 1.12.
10280         * gnulib-tool (nl): New variable.
10281         (func_import): Rewrite include directive extraction to only read each
10282         directive once.
10283
10284 2006-09-17  Bruno Haible  <bruno@clisp.org>
10285
10286         * modules/javaversion (Makefile.am): Remove DEFS setting.
10287         (Depends-on): Add configmake, for PKGDATADIR definition.
10288
10289 2006-09-17  Bruno Haible  <bruno@clisp.org>
10290
10291         * gnulib-tool (func_create_testdir): Rewrite all files at once.
10292
10293 2006-09-17  Bruno Haible  <bruno@clisp.org>
10294
10295         * gnulib-tool (func_append): New function, stolen from libtool.m4.
10296         (func_modules_transitive_closure, func_modules_add_dummy,
10297         func_modules_to_filelist, func_import, func_create_testdir,
10298         func_create_megatestdir, ...): Use it wherever possible.
10299         Suggested by Ralf Wildenhues.
10300
10301 2006-09-16  Karl Berry  <karl@gnu.org>
10302
10303         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
10304         to avoid sectioning errors.
10305         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
10306         [ifinfo]: blank line after @center-ed titles.
10307         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
10308         Spell FSF address consistently with others.
10309         (These changes approved by rms.)
10310
10311 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10312
10313         Speed up by a factor of 1.61.
10314         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
10315         already checked module names again.
10316
10317 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10318
10319         Speed up by a factor of 1.13.
10320         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
10321         for new_files, and the input to func_add_or_update.
10322
10323 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10324
10325         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
10326         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
10327
10328 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
10329
10330         * modules/mkancesdirs (Depends-on): Add fcntl.
10331         * modules/savewd: New file.
10332         * MODULES.html.sh (File system functions): Add savewd.
10333
10334         * modules/configmake (Makefile.am): Add support for the
10335         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
10336
10337 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
10338
10339         * m4/savewd.m4: New file.
10340
10341 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
10342
10343         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
10344         (dirchownmod): New arg FD.  All callers changed.
10345         Use FD rather than opening the directory ourself, as opening is
10346         now the caller's responsibility.
10347         * lib/dirchownmod.h: Likewise.
10348         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
10349         hosts that require <sys/types.h> before <sys/stat.h>.  Include
10350         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
10351         (test_dir): Remove.
10352         (mkancesdirs): Return length of prefix of FILE that has already
10353         been made, or -2 if there is a child doing the work.  Redo
10354         algorithm so that it is O(N) rather than O(N**2).  Optimize away
10355         ".", and treat ".." specially since it might stray back into
10356         already-created areas.  Use a subprocess if necessary.  New arg
10357         WD; all users changed.  MAKE_DIR function should now return 1
10358         if it creates a directory that is not readable.  Return -2 if
10359         a child process is spun off.
10360         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
10361         Adjust signature to match code.
10362         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
10363         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
10364         all users changed.
10365         * lib/savewd.c, lib/savewd.h: New files.
10366
10367 2006-09-15  Jim Meyering  <jim@meyering.net>
10368
10369         * modules/rename-dest-slash: New module.
10370         * MODULES.html.sh (posix_compat): Add it here.
10371
10372         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
10373
10374 2006-09-15  Jim Meyering  <jim@meyering.net>
10375
10376         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
10377         file.
10378
10379         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
10380
10381 2006-09-15  Jim Meyering  <jim@meyering.net>
10382
10383         * lib/rename-dest-slash.c (has_trailing_slash): Use
10384         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
10385         (rpl_rename_dest_slash): Perform the cheaper trailing slash
10386         test before testing whether SRC is a directory.
10387         Suggestions from Bruno Haible.
10388
10389         Avoid a warning about an unused variable.
10390         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
10391         into the #ifdef block where it's used.
10392
10393         * lib/rename-dest-slash.c: New file.
10394
10395 2006-09-14  Bruno Haible  <bruno@clisp.org>
10396
10397         * lib/allocsa.c: Include <config.h> unconditionally.
10398         * lib/asnprintf.c: Likewise.
10399         * lib/asprintf.c: Likewise.
10400         * lib/c-strcasecmp.c: Likewise.
10401         * lib/c-strcasestr.c: Likewise.
10402         * lib/c-strncasecmp.c: Likewise.
10403         * lib/c-strstr.c: Likewise.
10404         * lib/classpath.c: Likewise.
10405         * lib/clean-temp.c: Likewise.
10406         * lib/concatpath.c: Likewise.
10407         * lib/copy-file.c: Likewise.
10408         * lib/csharpcomp.c: Likewise.
10409         * lib/csharpexec.c: Likewise.
10410         * lib/execute.c: Likewise.
10411         * lib/fatal-signal.c: Likewise.
10412         * lib/findprog.c: Likewise.
10413         * lib/fwriteerror.c: Likewise.
10414         * lib/gl_array_list.c: Likewise.
10415         * lib/gl_array_oset.c: Likewise.
10416         * lib/gl_avltree_list.c: Likewise.
10417         * lib/gl_avltree_oset.c: Likewise.
10418         * lib/gl_avltreehash_list.c: Likewise.
10419         * lib/gl_carray_list.c: Likewise.
10420         * lib/gl_linked_list.c: Likewise.
10421         * lib/gl_linkedhash_list.c: Likewise.
10422         * lib/gl_list.c: Likewise.
10423         * lib/gl_oset.c: Likewise.
10424         * lib/gl_rbtree_list.c: Likewise.
10425         * lib/gl_rbtree_oset.c: Likewise.
10426         * lib/gl_rbtreehash_list.c: Likewise.
10427         * lib/imaxabs.c: Likewise.
10428         * lib/imaxdiv.c: Likewise.
10429         * lib/javacomp.c: Likewise.
10430         * lib/javaexec.c: Likewise.
10431         * lib/javaversion.c: Likewise.
10432         * lib/linebreak.c: Likewise.
10433         * lib/localcharset.c: Likewise.
10434         * lib/lock.c: Likewise.
10435         * lib/mbchar.c: Likewise.
10436         * lib/mbswidth.c: Likewise.
10437         * lib/mkdtemp.c: Likewise.
10438         * lib/pipe.c: Likewise.
10439         * lib/printf-args.c: Likewise.
10440         * lib/printf-parse.c: Likewise.
10441         * lib/progname.c: Likewise.
10442         * lib/progreloc.c: Likewise.
10443         * lib/readlink.c: Likewise.
10444         * lib/sh-quote.c: Likewise.
10445         * lib/stpcpy.c: Likewise.
10446         * lib/stpncpy.c: Likewise.
10447         * lib/strcasecmp.c: Likewise.
10448         * lib/strcasestr.c: Likewise.
10449         * lib/strcspn.c: Likewise.
10450         * lib/striconv.c: Likewise.
10451         * lib/strncasecmp.c: Likewise.
10452         * lib/strnlen1.c: Likewise.
10453         * lib/strstr.c: Likewise.
10454         * lib/strtok_r.c: Likewise.
10455         * lib/tls.c: Likewise.
10456         * lib/tmpdir.c: Likewise.
10457         * lib/unicodeio.c: Likewise.
10458         * lib/unsetenv.c: Likewise.
10459         * lib/vasnprintf.c: Likewise.
10460         * lib/vasprintf.c: Likewise.
10461         * lib/wait-process.c: Likewise.
10462         * lib/xallocsa.c: Likewise.
10463         * lib/xsetenv.c: Likewise.
10464         * lib/xstriconv.c: Likewise.
10465
10466 2006-09-13  Simon Josefsson  <jas@extundo.com>
10467
10468         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
10469         that internally, suggested by Ralf Wildenhues
10470         <Ralf.Wildenhues@gmx.de>.
10471
10472 2006-09-13  Simon Josefsson  <jas@extundo.com>
10473
10474         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
10475         @LIBOBJS@.
10476         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10477
10478 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
10479
10480         * lib/_fpending.c: Include <config.h> unconditionally, since we no
10481         longer worry about uses that don't define HAVE_CONFIG_H.
10482         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
10483         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
10484         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
10485         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
10486         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
10487         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
10488         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
10489         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
10490         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
10491         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
10492         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
10493         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
10494         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
10495         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
10496         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
10497         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
10498         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
10499         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
10500         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
10501         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
10502         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
10503         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
10504         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
10505         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
10506         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
10507         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
10508         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
10509         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
10510         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
10511         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
10512         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
10513         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
10514         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
10515         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
10516         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
10517         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
10518         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
10519         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
10520         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
10521         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
10522         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
10523         Likewise.
10524
10525 2006-09-13  Eric Blake  <ebb9@byu.net>
10526
10527         * lib/getopt.c: Fix typo in last commit.
10528
10529 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
10530
10531         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
10532         dgettext.
10533
10534 2006-09-12  Jim Meyering  <jim@meyering.net>
10535
10536         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
10537         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
10538         Reported by Nelson H. F. Beebe.
10539
10540 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
10541
10542         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
10543         program_invocation_name and program_invocation_short_name are
10544         initialized.
10545         * lib/argp-namefrob.h: Move declarations of program_invocation_name
10546         and program_invocation_short_name to argp.h, so they are visible
10547         to user programs.
10548         * lib/argp.h: Likewise
10549
10550 2006-09-10  Bruno Haible  <bruno@clisp.org>
10551
10552         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
10553         m4/inttypes_h.m4, m4/uintmax_t.m4.
10554
10555 2006-09-10  Bruno Haible  <bruno@clisp.org>
10556
10557         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
10558         gl_AC_TYPE_UINTMAX_T.
10559
10560 2006-09-10  Bruno Haible  <bruno@clisp.org>
10561
10562         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
10563
10564 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
10565
10566         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
10567         convention.  Text proposed by Bruno Haible.
10568         (struct argp_option): Document the use of N_() wrappers.
10569
10570         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
10571         '\v', and translate the two parts separately, instead of feeding
10572         the whole string to gettext.  This allows to exclude
10573         '\v' from the strings visible to the translator by writing doc
10574         strings as N_("..") "\v" N_("..").
10575
10576 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
10577
10578         * config/srclist.txt: Undo latest change; the bug was fixed.
10579
10580 2006-09-09  Bruno Haible  <bruno@clisp.org>
10581
10582         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
10583         assignments if building a library without libtool.
10584         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
10585         in func_emit_lib_Makefile_am.
10586         (func_import): When building a static library libfoo.a, arrange to
10587         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
10588         (func_create_testdir): Likewise.
10589         * modules/gc (configure.ac, Makefile.am): If building statically,
10590         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
10591         * modules/iconvme (configure.ac, Makefile.am): Likewise.
10592         * modules/striconv (configure.ac, Makefile.am): Likewise.
10593         Based on a suggestion by Ralf Wildenhues.
10594
10595 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
10596
10597         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
10598         Check for unistd.h too, since Autoconf doesn't assume POSIX.
10599         Also:
10600
10601         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
10602         Add year_2050_test to catch glibc bug 2821
10603         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
10604
10605         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
10606         Prefer #ifdef to #if.
10607
10608         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
10609         Return from 'main' instead of calling 'exit'.
10610
10611 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
10612
10613         * lib/mktime.c (guess_time_tm): Fix bug where mktime
10614         returned the maximum time_t value rather than (time_t) -1.
10615         Problem originally reported by William Bardwell
10616         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
10617
10618         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
10619         Moved to here ...
10620         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
10621         ... from here.
10622
10623 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
10624
10625         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
10626         2821 is fixed.
10627
10628 2006-09-08  Jim Meyering  <jim@meyering.net>
10629
10630         Don't make generated files read-only.  That would bother too many
10631         people.  However, do retain the ability to work when targets are
10632         read-only: remove the destination and temporary files before writing
10633         them (when generated via sed or echo), or by using the -f option for
10634         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
10635         * modules/alloca-opt, modules/argz, modules/arpa_inet:
10636         * modules/byteswap, modules/configmake, modules/fcntl:
10637         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
10638         * modules/localcharset, modules/netinet_in, modules/poll:
10639         * modules/stdbool, modules/stdint, modules/sys_select:
10640         * modules/sys_socket, modules/sys_stat, modules/sysexits:
10641
10642 2006-09-08  Jim Meyering  <jim@meyering.net>
10643
10644         Avoid new build failure on FreeBSD 6.0.
10645         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
10646         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
10647         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
10648
10649 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10650
10651         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
10652
10653 2006-09-07  Jim Meyering  <jim@meyering.net>
10654
10655         Fix global typo in last change: use chmod u-w, not chmod u-x.
10656         Spotted by Paul Eggert and Bruce Korb.
10657         * modules/alloca-opt, modules/argz, modules/arpa_inet:
10658         * modules/byteswap, modules/configmake, modules/fcntl:
10659         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
10660         * modules/localcharset, modules/netinet_in, modules/poll:
10661         * modules/stdbool, modules/stdint, modules/sys_select:
10662         * modules/sys_socket, modules/sys_stat, modules/sysexits:
10663
10664 2006-09-06  Jim Meyering  <jim@meyering.net>
10665
10666         Make generated files be read-only.
10667         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
10668         Ensure that each generated file is now read-only.
10669         * modules/argz: Likewise.
10670         * modules/arpa_inet: Likewise.
10671         * modules/byteswap: Likewise.
10672         * modules/configmake: Likewise.
10673         * modules/fcntl: Likewise.
10674         * modules/fnmatch: Likewise.
10675         * modules/getopt: Likewise.
10676         * modules/glob: Likewise.
10677         * modules/inttypes: Likewise.
10678         * modules/netinet_in: Likewise.
10679         * modules/poll: Likewise.
10680         * modules/stdbool: Likewise.
10681         * modules/stdint: Likewise.
10682         * modules/sys_select: Likewise.
10683         * modules/sys_socket: Likewise.
10684         * modules/sys_stat: Likewise.
10685         * modules/sysexits: Likewise.
10686         * modules/localcharset: Same as above, but continue using temporary
10687         file named "t-$@" (why different?) rather than the "$@-t" used
10688         everywhere else.
10689
10690         * modules/sysexits (Makefile.am): Replace literal occurrences
10691         of "sysexit.h" more readable, and more consistent, "$@".
10692
10693 2006-09-06  Bruno Haible  <bruno@clisp.org>
10694
10695         * modules/striconv: New file.
10696         * modules/xstriconv: New file.
10697         * MODULES.html.sh (Internationalization functions): Add striconv,
10698         xstriconv.
10699
10700 2006-09-06  Bruno Haible  <bruno@clisp.org>
10701
10702         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
10703         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
10704         not using libtool correctly.
10705
10706 2006-09-06  Bruno Haible  <bruno@clisp.org>
10707
10708         * lib/striconv.h: New file.
10709         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
10710         iconvstring.c.
10711         * lib/xstriconv.h: New file.
10712         * lib/xstriconv.c: New file.
10713
10714 2006-09-06  Bruno Haible  <bruno@clisp.org>
10715
10716         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
10717         lib_..._LDFLAGS.
10718
10719 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10720
10721         * lib/argz_.h: Sync from Libtool.
10722
10723         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
10724                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10725
10726         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
10727
10728 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
10729
10730         * modules/trim: New file.
10731
10732 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
10733
10734         * lib/trim.h: New file.
10735         * lib/trim.c: New file.
10736
10737 2006-09-05  Bruno Haible  <bruno@clisp.org>
10738
10739         * MODULES.html.sh (String handling): Add trim.
10740
10741 2006-09-04  Karl Berry  <karl@gnu.org>
10742
10743         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
10744         until next release.
10745
10746 2006-09-03  Bruno Haible  <bruno@clisp.org>
10747
10748         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
10749         correctly.
10750
10751 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10752
10753         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
10754         not gl_GETLOADAVG.  Omit unneeded semicolons.
10755         Problems reported by Ralf Wildenhues in
10756         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
10757         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
10758         at the end, which is the usual gnulib style.
10759
10760         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
10761         of doing all the work ourselves.
10762         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
10763         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
10764
10765 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10766
10767         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
10768         Problem reported by Ralf Wildenhues in
10769         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
10770
10771         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
10772         HAVE_STRUCT_STATFS_F_FSTYPENAME.
10773
10774 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10775
10776         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
10777         yesterday's patch by changing test -n to test -z.
10778
10779 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
10780
10781         * modules/getloadavg (Files): Add m4/getloadavg.m4.
10782         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
10783         the former is now obsolescent.
10784
10785         * modules/chdir-long (Depends-on): Add fcntl.
10786
10787 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
10788
10789         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
10790         obsolescent, and programs should use gnulib instead.
10791         * m4/getloadavg.m4: New file, with contents taken from Autoconf
10792         but with prefixes changed.
10793
10794 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
10795
10796         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
10797         or stdbool.h, because they might not exist while configuring.
10798
10799         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
10800         Don't include unistd.h or limits.h; not needed, since chdir-long.h
10801         does that for us.
10802         (O_DIRECTORY): Remove.
10803
10804 2006-08-31  Eric Blake  <ebb9@byu.net>
10805
10806         * gnulib-tool: Don't let emacs change spaces to TAB.
10807
10808 2006-08-31  Bruno Haible  <bruno@clisp.org>
10809
10810         * gnulib-tool: When calling func_import more than once, do it in a
10811         subshell.
10812         Reported by Eric Blake <ebb9@byu.net>.
10813
10814 2006-08-31  Bruno Haible  <bruno@clisp.org>
10815
10816         * gnulib-tool (nl): Remove variable.
10817         (sed_transform_lib_file): Use more robust test for config-h module.
10818         (func_import): Fix typo in 2006-08-25 patch.
10819
10820 2006-08-31  Bruno Haible  <bruno@clisp.org>
10821
10822         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
10823         specified, augment Makefile.am variables instead of assigning them.
10824
10825 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
10826
10827         Work around a bug in both the Linux and SunOS 64-bit kernels:
10828         nanosleep mishandles sleeps for longer than 2**31 seconds.
10829         Problem reported by Frank v Waveren in
10830         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
10831         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
10832         Check for nanosleep bug.
10833         (LIB_NANOSLEEP): Append clock_gettime library if needed.
10834
10835 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
10836
10837         Work around a bug in both the Linux and SunOS 64-bit kernels:
10838         nanosleep mishandles sleeps for longer than 2**31 seconds.
10839         Problem reported by Frank v Waveren in
10840         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
10841         * lib/nanosleep.c (BILLION): New constant.
10842         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
10843         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
10844         implementation.
10845
10846 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
10847
10848         * modules/nanosleep (Depends-on): Add gettime.
10849
10850 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
10851         and Simon Josefsson  <jas@extundo.com>
10852         and Oskar Liljeblad  <oskar@osk.mine.nu>
10853
10854         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
10855         * gnulib-tool (func_import): New license type 'unmodifiable license
10856         text'.
10857         * modules/fdl: Use it.  Longer description.
10858         * module/gpl, module/lgpl: New files.
10859
10860 2006-08-30  Jim Meyering  <jim@meyering.net>
10861
10862         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
10863         shadowing the parameter.
10864
10865 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10866
10867         Sync from Libtool:
10868
10869         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10870
10871         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
10872         sharing with gnulib.  Report by Eric Blake.
10873
10874 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
10875
10876         * modules/isapipe: New file.
10877         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
10878
10879 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
10880
10881         * modules/configmake (Makefile.am): Add a comment, and omit
10882         the CONFIGMAKE_ prefix from generated macro names.  Suggested
10883         by Bruno Haible.
10884
10885 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
10886
10887         * m4/isapipe.m4: New file.
10888
10889 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
10890
10891         * lib/isapipe.c, lib/isapipe.h: New files.
10892
10893 2006-08-29  Jim Meyering  <jim@meyering.net>
10894
10895         * modules/configmake (Makefile.am): Make configmake.h depend on
10896         Makefile.  Otherwise, a stale configmake.h could hang around.
10897
10898 2006-08-29  Eric Blake  <ebb9@byu.net>
10899
10900         * lib/error.c (error_at_line, print_errno_message): Match libc, after
10901         resolution of upstream bug 3044.
10902
10903 2006-08-29  Bruno Haible  <bruno@clisp.org>
10904
10905         * modules/localcharset (Depends-on): Add configmake.
10906         (Makefile.am): Remove setting of LIBDIR through DEFS.
10907
10908 2006-08-29  Bruno Haible  <bruno@clisp.org>
10909
10910         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
10911         defined.
10912
10913 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
10914
10915         * modules/fcntl: New file.
10916         * modules/chdir-safer (Depends-on): Add fcntl.
10917         * modules/fts: Likewise.
10918         * modules/mkdir-p: Likewise.
10919
10920         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
10921         This undoes the most recent change, since we're now addressing the
10922         problem in a different way.
10923
10924         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
10925         into output, since the output might be called Makefile.am even
10926         if $makefile_name is something different.
10927         (func_import): Use $makefile_am rather than
10928         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
10929         empty.
10930
10931         * modules/inttypes (Files): Add m4/inttypes-h.m4.
10932
10933 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
10934
10935         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
10936         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
10937         recent change to stdint.m4, since we're now addressing the problem in a
10938         different way.
10939
10940 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
10941
10942         * m4/fcntl_h.m4: New file.
10943
10944 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
10945
10946         * lib/fcntl_.h: New file.
10947         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
10948         the fcntl module.
10949         * lib/dirchownmod.c: Likewise.
10950         * lib/fts.c: Likewise.
10951
10952         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
10953         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
10954         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
10955         just before including <inttypes.h>, to avoid circular inclusion.
10956
10957 2006-08-28  Jim Meyering  <jim@meyering.net>
10958
10959         * doc/visibility.texi: Actually read and correct the grammar of the
10960         sentence affected by yesterday's change.
10961
10962 2006-08-28  Eric Blake  <ebb9@byu.net>
10963
10964         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
10965         needs wrapper.
10966
10967 2006-08-28  Eric Blake  <ebb9@byu.net>
10968
10969         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
10970
10971 2006-08-28  Eric Blake  <ebb9@byu.net>
10972
10973         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
10974
10975 2006-08-28  Bruno Haible  <bruno@clisp.org>
10976
10977         * modules/c-strstr: New file, from GNU gettext.
10978         * MODULES.html.sh (String handling): Add c-strstr.
10979
10980 2006-08-28  Bruno Haible  <bruno@clisp.org>
10981
10982         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
10983         macros.
10984         Reported by Eric Blake.
10985
10986 2006-08-28  Bruno Haible  <bruno@clisp.org>
10987
10988         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
10989         (VASNPRINTF): Return a string of length > INT_MAX without failing.
10990         * lib/vasprintf.c: Include errno.h, limits.h.
10991         (EOVERFLOW): New fallback definition.
10992         (vasprintf): Test here whether the string length is > INT_MAX.
10993         * lib/vsnprintf.c: Include errno.h, limits.h.
10994         (EOVERFLOW): New fallback definition.
10995         (vsnprintf): Fix bug when generated string was too long for the buffer.
10996         Test here whether the string length is > INT_MAX.
10997
10998 2006-08-28  Bruno Haible  <bruno@clisp.org>
10999
11000         * lib/inttypes_.h (SCNX*): Remove definitions.
11001         Reported by Eric Blake.
11002
11003 2006-08-28  Bruno Haible  <bruno@clisp.org>
11004
11005         * lib/c-strstr.h: New file, from GNU gettext.
11006         * lib/c-strstr.c: New file, from GNU gettext.
11007
11008 2006-08-28  Bruno Haible  <bruno@clisp.org>
11009
11010         * gnulib-tool: Reorder some statements.
11011
11012 2006-08-28  Bruno Haible  <bruno@clisp.org>
11013
11014         * gnulib-tool: New option --makefile-name.
11015         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
11016         $makefile_name.
11017         (func_import): Write $makefile_name to the cache file, and read it from
11018         there unless explicitly specified. Use $makefile_name as file name
11019         instead of Makefile.am. Adjust the recommendations accordingly.
11020
11021 2006-08-28  Bruno Haible  <bruno@clisp.org>
11022
11023         * gnulib-tool (func_verify_module): Check against misapplying patch.
11024
11025 2006-08-28  Bruno Haible  <bruno@clisp.org>
11026
11027         * gnulib-tool (func_relativize, func_relconcat): New functions.
11028         Give an error if --local-dir is given with --update.
11029         Remove trailing slashes from $local_gnulib_dir.
11030         (func_import): Store the relativized $local_gnulib_dir in
11031         gnulib-cache.m4, and read it from there if not specified explicitly.
11032
11033 2006-08-28  Bruno Haible  <bruno@clisp.org>
11034
11035         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
11036         is the current directory. Respect also $local_gnulib_dir.
11037
11038 2006-08-28  Bruno Haible  <bruno@clisp.org>
11039             Simon Josefsson  <jas@extundo.com>
11040
11041         BeOS portability.
11042         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
11043
11044 2006-08-27  Jim Meyering  <jim@meyering.net>
11045
11046         * doc/visibility.texi: Remove duplicate word: "pointer".
11047
11048 2006-08-26  Bruno Haible  <bruno@clisp.org>
11049
11050         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
11051         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
11052         (Makefile.am): Create inttypes.h from inttypes_.h.
11053         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
11054
11055         * modules/imaxabs: New file.
11056
11057         * modules/imaxdiv: New file.
11058
11059 2006-08-26  Bruno Haible  <bruno@clisp.org>
11060
11061         * m4/inttypes.m4: New file.
11062         * m4/_inttypes_h.m4: Remove file.
11063         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
11064         PRI_MACROS_BROKEN.
11065         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
11066
11067         * m4/imaxabs.m4: New file.
11068
11069         * m4/imaxdiv.m4: New file.
11070
11071 2006-08-26  Bruno Haible  <bruno@clisp.org>
11072
11073         * lib/inttypes_.h: New file.
11074         * lib/inttypes.h: Remove file.
11075         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
11076
11077         * lib/imaxabs.c: New file.
11078
11079         * lib/imaxdiv.c: New file.
11080
11081 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11082
11083         New config-h module, so that "make" output needn't be cluttered
11084         by -DHAVE_CONFIG_H.
11085         * MODULES.html.sh (Support for building libraries and executables):
11086         Add config-h.
11087         * modules/config-h: New file.
11088         * gnulib-tool (nl, sed_transform_lib_file): New vars.
11089         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
11090         the config-h module is used.
11091
11092         New configmake module, so that "make" output needn't be cluttered
11093         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
11094         * MODULES.html.sh (Support for building libraries and executables):
11095         Add configmake.
11096         * modules/configmake: New file.
11097
11098 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11099
11100         * m4/config-h.m4: New file.
11101
11102 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11103
11104         * config/srclist.txt: Add elisp-comp.
11105
11106 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11107
11108         * MODULES.html.sh (Support for building libraries and executables):
11109         Add elisp-comp.
11110         * build-aux/elisp-comp: New file.
11111         * modules/elisp-comp: New file.
11112
11113 2006-08-24  Bruno Haible  <bruno@clisp.org>
11114
11115         * gnulib-tool (func_create_testdir): Use non-default values of
11116         sourcebase and m4base.
11117
11118 2006-08-24  Bruno Haible  <bruno@clisp.org>
11119
11120         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
11121         HTML structure.
11122
11123 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
11124
11125         * modules/openat (Depends-on): Add lchown.
11126
11127 2006-08-23  Bruno Haible  <bruno@clisp.org>
11128
11129         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
11130         of gl_LOCK_EARLY instead of gl_LOCK.
11131
11132 2006-08-23  Bruno Haible  <bruno@clisp.org>
11133
11134         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
11135         on OSF/1 to no.
11136         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
11137
11138 2006-08-23  Bruno Haible  <bruno@clisp.org>
11139
11140         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
11141         as unusable.
11142
11143         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
11144         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
11145         (gl_LOCK): New macro.
11146
11147 2006-08-22  Simon Josefsson  <jas@extundo.com>
11148
11149         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
11150         to md5 module.
11151
11152 2006-08-22  Simon Josefsson  <jas@extundo.com>
11153
11154         * MODULES.html.sh: Add "Support for maintaining and release
11155         projects".
11156
11157         * build-aux/gnupload: New file, from coreutils.
11158
11159 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
11160
11161         Avoid the need for AC_LIBSOURCES in m4 macros.
11162         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
11163         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
11164         * modules/check-version (EXTRA_DIST): Add check-version.h.
11165         * modules/crc (EXTRA_DIST): Add crc.h.
11166         * modules/des (EXTRA_DIST): Add des.h.
11167         * modules/gc (EXTRA_DIST): Add gc.h.
11168         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
11169         * modules/getline (EXTRA_DIST): Add getline.h.
11170         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
11171         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
11172         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
11173         * modules/md2 (EXTRA_DIST): Add md2.h.
11174         * modules/md4 (EXTRA_DIST): Add md4.h.
11175         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
11176         * modules/read-file (EXTRA_DIST): Add read-file.h.
11177         * modules/readline (EXTRA_DIST): Add readline.h.
11178         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
11179         rijndael-api-fst.h.
11180
11181 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
11182
11183         * m4/rijndael.m4 (gl_ARCFOUR):
11184         * m4/arctwo.m4 (gl_ARCTWO):
11185         * m4/check-version.m4 (gl_CHECK_VERSION):
11186         * m4/crc.m4 (gl_CRC):
11187         * m4/des.m4 (gl_DES):
11188         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
11189         * m4/gc.m4 (gl_GC):
11190         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
11191         * m4/getline.m4 (gl_FUNC_GETLINE):
11192         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
11193         * m4/hmac-md5.m4 (gl_HMAC_MD5):
11194         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
11195         * m4/md2.m4 (gl_MD2):
11196         * m4/md4.m4 (gl_MD4):
11197         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
11198         * m4/read-file.m4 (gl_FUNC_READ_FILE):
11199         * m4/readline.m4 (gl_FUNC_READLINE):
11200         * m4/rijndael.m4 (gl_RIJNDAEL):
11201         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
11202         to get the necessary .h files and whatnot.
11203
11204 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
11205
11206         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
11207         gnulib rather than the other way around.
11208         * config/srclistvars.sh (COREUTILS): Remove.
11209
11210 2006-08-22  Jim Meyering  <jim@meyering.net>
11211
11212         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
11213
11214         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
11215
11216 2006-08-22  Eric Blake  <ebb9@byu.net>
11217
11218         * modules/regexprops-generic: New file.
11219         * MODULES.html.sh (Support for building documentation): List it.
11220
11221 2006-08-22  Eric Blake  <ebb9@byu.net>
11222
11223         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
11224         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
11225         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
11226         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
11227
11228 2006-08-22  Bruno Haible  <bruno@clisp.org>
11229
11230         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
11231         and lib_LTLIBRARIES like the other lib_* variables.
11232
11233 2006-08-22  Bruno Haible  <bruno@clisp.org>
11234
11235         * build-aux/x-to-1.in: New file, from GNU gettext.
11236
11237 2006-08-22  Bruno Haible  <bruno@clisp.org>
11238
11239         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
11240         <utmpx.h> exists.
11241
11242 2006-08-22  Bruno Haible  <bruno@clisp.org>
11243
11244         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
11245         <utmpx.h> exists.
11246
11247 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
11248
11249         BeOS portability.
11250         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
11251         exist.
11252         Problem reported by Bruno Haible.
11253
11254 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
11255
11256         Avoid the need for AC_LIBSOURCES in m4 macros.
11257         * modules/acl (EXTRA_DIST): Add acl.h.
11258         * modules/argmatch (Files): Add m4/argmatch.m4.
11259         (configure.ac): Add gl_ARGMATCH.
11260         (EXTRA_DIST): Renamed from lib_SOURCES, for
11261         consistency with the other modules.  Remove argmatch.c.
11262         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
11263         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
11264         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
11265         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
11266         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
11267         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
11268         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
11269         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
11270         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
11271         * modules/closeout (EXTRA_DIST): Add closeout.h.
11272         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
11273         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
11274         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
11275         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
11276         dirname.h; remove basename.c and stripslash.c.
11277         * modules/exclude (EXTRA_DIST): Add exclude.h.
11278         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
11279         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
11280         * modules/file-type (EXTRA_DIST): Add file-type.h.
11281         * modules/filemode (EXTRA_DIST): Add filemode.h.
11282         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
11283         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
11284         * modules/fpending (EXTRA_DIST): Add __fpending.h.
11285         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
11286         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
11287         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
11288         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
11289         * modules/getdate (EXTRA_DIST): Add getdate.c.
11290         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
11291         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
11292         * modules/getpass (EXTRA_DIST): Add getpass.h.
11293         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
11294         * modules/group-member (EXTRA_DIST): Add group-member.h.
11295         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
11296         * modules/hash (EXTRA_DIST): Add hash.h.
11297         * modules/human (EXTRA_DIST): Add human.h.
11298         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
11299         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
11300         * modules/lchown (EXTRA_DIST): Add lchown.h.
11301         * modules/long-options (EXTRA_DIST): Add long-options.h.
11302         * modules/lstat (EXTRA_DIST): Add lstat.h.
11303         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
11304         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
11305         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
11306         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
11307         * modules/memxor (EXTRA_DIST): Add memxor.h.
11308         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
11309         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
11310         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
11311         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
11312         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
11313         * modules/physmem (EXTRA_DIST): Add physmem.h.
11314         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
11315         * modules/posixver (EXTRA_DIST): Add posixver.h.
11316         * modules/quote (EXTRA_DIST): Add quote.h.
11317         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
11318         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
11319         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
11320         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
11321         regex_internal.h regexec.c.
11322         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
11323         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
11324         * modules/same (EXTRA_DIST): Add same.h.
11325         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
11326         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
11327         * modules/savedir (EXTRA_DIST): Add savedir.h.
11328         * modules/sha1 (EXTRA_DIST): Add sha1.h.
11329         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
11330         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
11331         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
11332         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
11333         * modules/strdup (EXTRA_DIST): Add strdup.h.
11334         * modules/strftime (EXTRA_DIST): Add strftime.h.
11335         * modules/strndup (EXTRA_DIST): Add strndup.h.
11336         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
11337         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
11338         * modules/time_r (EXTRA_DIST): Add time_r.h.
11339         * modules/timespec (EXTRA_DIST): Add timespec.h.
11340         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
11341         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
11342         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
11343         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
11344         * modules/userspec (EXTRA_DIST): Add userspec.h.
11345         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
11346         * modules/utimens (EXTRA_DIST): Add utimens.h.
11347         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
11348         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
11349         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
11350         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
11351         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
11352         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
11353         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
11354         * modules/yesno (EXTRA_DIST): Add yesno.h.
11355
11356 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
11357
11358         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
11359
11360         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
11361         * m4/dev-ino.m4, same-inode.m4: Remove.
11362
11363         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
11364         * m4/acl.m4 (AC_FUNC_ACL):
11365         * m4/backupfile.m4 (gl_BACKUPFILE):
11366         * m4/c-strtod.m4 (gl_C99_STRTOLD):
11367         * m4/canon-host.m4 (gl_CANON_HOST):
11368         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
11369         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
11370         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
11371         * m4/cloexec.m4 (gl_CLOEXEC):
11372         * m4/close-stream.m4 (gl_CLOSE_STREAM):
11373         * m4/closeout.m4 (gl_CLOSEOUT):
11374         * m4/dirfd.m4 (gl_FUNC_DIRFD):
11375         * m4/dirname.m4 (gl_DIRNAME):
11376         * m4/exclude.m4 (gl_EXCLUDE):
11377         * m4/exitfail.m4 (gl_EXITFAIL):
11378         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
11379         * m4/file-type.m4 (gl_FILE_TYPE):
11380         * m4/filemode.m4 (gl_FILEMODE):
11381         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
11382         * m4/fpending.m4 (gl_FUNC_FPENDING):
11383         * m4/fprintftime.m4 (gl_FPRINTFTIME):
11384         * m4/fts.m4 (gl_FUNC_FTS):
11385         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
11386         * m4/getdate.m4 (gl_GETDATE):
11387         * m4/gethrxtime.m4 (gl_GETHRXTIME):
11388         * m4/getpagesize.m4 (gl_GETPAGESIZE):
11389         * m4/getpass.m4 (gl_FUNC_GETPASS):
11390         * m4/gettime.m4 (gl_GETTIME):
11391         * m4/getugroups.m4 (gl_GETUGROUPS):
11392         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
11393         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
11394         * m4/hard-locale.m4 (gl_HARD_LOCALE):
11395         * m4/hash.m4 (gl_HASH):
11396         * m4/idcache.m4 (gl_IDCACHE):
11397         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
11398         * m4/lchown.m4 (gl_FUNC_LCHOWN):
11399         * m4/long-options.m4 (gl_LONG_OPTIONS):
11400         * m4/lstat.m4 (gl_FUNC_LSTAT):
11401         * m4/md5.m4 (gl_MD5):
11402         * m4/memcasecmp.m4 (gl_MEMCASECMP):
11403         * m4/memcoll.m4 (gl_MEMCOLL):
11404         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
11405         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
11406         * m4/memxor.m4 (gl_MEMXOR):
11407         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
11408         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
11409         * m4/modechange.m4 (gl_MODECHANGE):
11410         * m4/mountlist.m4 (gl_MOUNTLIST):
11411         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
11412         * m4/openat.m4 (gl_FUNC_OPENAT):
11413         * m4/pathmax.m4 (gl_PATHMAX):
11414         * m4/physmem.m4 (gl_PHYSMEM):
11415         * m4/posixtm.m4 (gl_POSIXTM):
11416         * m4/posixver.m4 (gl_POSIXVER):
11417         * m4/quote.m4 (gl_QUOTE):
11418         * m4/quotearg.m4 (gl_QUOTEARG):
11419         * m4/readtokens.m4 (gl_READTOKENS):
11420         * m4/readutmp.m4 (gl_READUTMP):
11421         * m4/regex.m4 (gl_REGEX):
11422         * m4/safe-read.m4 (gl_SAFE_READ):
11423         * m4/safe-write.m4 (gl_SAFE_WRITE):
11424         * m4/same.m4 (gl_SAME):
11425         * m4/save-cwd.m4 (gl_SAVE_CWD):
11426         * m4/savedir.m4 (gl_SAVEDIR):
11427         * m4/settime.m4 (gl_SETTIME):
11428         * m4/sha1.m4 (gl_SHA1):
11429         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
11430         * m4/stat-macros.m4 (gl_STAT_MACROS):
11431         * m4/stat-time.m4 (gl_STAT_TIME):
11432         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
11433         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
11434         * m4/strdup.m4 (gl_FUNC_STRDUP):
11435         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
11436         * m4/strndup.m4 (gl_FUNC_STRNDUP):
11437         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
11438         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
11439         * m4/time_r.m4 (gl_TIME_R):
11440         * m4/timespec.m4 (gl_TIMESPEC):
11441         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
11442         * m4/unlinkdir.m4 (gl_UNLINKDIR):
11443         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
11444         * m4/userspec.m4 (gl_USERSPEC):
11445         * m4/utimecmp.m4 (gl_UTIMECMP):
11446         * m4/utimens.m4 (gl_UTIMENS):
11447         * m4/xalloc.m4 (gl_XALLOC):
11448         * m4/xgetcwd.m4 (gl_XGETCWD):
11449         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
11450         * m4/xreadlink.m4 (gl_XREADLINK):
11451         * m4/xstrtod.m4 (gl_XSTRTOD):
11452         * m4/yesno.m4 (gl_YESNO):
11453         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
11454         to get the necessary .h files and whatnot.
11455
11456 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
11457             Bruno Haible  <bruno@clisp.org>
11458
11459         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
11460         /bin/sh understanding of '!' conditional negation.
11461
11462 2006-08-21  Jim Meyering  <jim@meyering.net>
11463
11464         * modules/openat (Depends-on): Really alphabetize.
11465
11466         * modules/acl (Depends-on): Add error and quote.
11467
11468         * check-module (find_included_lib_files): Add at-func.c to the
11469         ok-to-include-more-than-once white list.
11470
11471         * modules/openat (Depends-on): Add lstat.  Alphabetize.
11472
11473 2006-08-21  Bruno Haible  <bruno@clisp.org>
11474
11475         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
11476         Emit a pkgdata_DATA variable only if some snippets add contents to it.
11477         Reported by Martin Lambers <marlam@marlam.de>.
11478
11479 2006-08-21  Bruno Haible  <bruno@clisp.org>
11480
11481         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
11482         specify an installation location, don't emit a noinst_LIBRARIES or
11483         noinst_LTLIBRARIES assignment.
11484
11485 2006-08-21  Bruno Haible  <bruno@clisp.org>
11486
11487         BeOS portability.
11488         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
11489         BeOS has mbrtowc() but no <wctype.h>.
11490
11491 2006-08-21  Bruno Haible  <bruno@clisp.org>
11492
11493         BeOS portability.
11494         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
11495         exist.
11496
11497 2006-08-21  Bruno Haible  <bruno@clisp.org>
11498
11499         BeOS portability.
11500         * lib/mbchar.h: Include <wctype.h> only if it exists.
11501
11502 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
11503
11504         Remove files that are no longer needed by their respective modules.
11505         * m4/obstack.m4: Remove.
11506         * m4/strerror_r.m4: Remove.
11507         * m4/uint32_t.m4: Remove.
11508         * m4/uintptr_t.m4: Remove.
11509         * m4/ullong_max.m4: Remove.
11510         * m4/xstrtoimax.m4: Remove.
11511         * m4/xstrtoumax.m4: Remove.
11512
11513         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
11514         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
11515         dependencies now capture this.
11516
11517         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
11518         Do not use AC_LIBSOURCES, since gnulib modules now do this.
11519         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
11520         * m4/human.m4 (gl_HUMAN): Likewise.
11521         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
11522         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
11523
11524         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
11525
11526         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
11527         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
11528         stdint.
11529         * m4/human.m4 (gl_HUMAN): Likewise.
11530         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
11531         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
11532         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
11533         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
11534         * m4/xstrtol (gl_XSTRTOL): Likewise.
11535
11536         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
11537         AC_TYPE_LONG_LONG_INT.
11538         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
11539         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
11540         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
11541         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
11542
11543         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
11544         on stdbool.
11545
11546         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
11547         (gl_PREREQ_XSTRTOUL): Remove.
11548
11549         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
11550
11551         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
11552         mode.
11553
11554 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
11555
11556         Add and change modules to make it easier for coreutils to use
11557         gnulib-tool.
11558         * modules/backupfile (Files): Remove m4/d-ino.m4.
11559         (Depends-on): Add d-ino.
11560         * modules/cycle-check (Depends-on): Add stdint.
11561         (lib_SOURCES): Add cycle-check.h.
11562         * modules/d-ino: New module.
11563         * modules/d-type: New module.
11564         * modules/error (Files): Remove m4/strerror_r.m4.
11565         * modules/filemode (Files): Add m4/st_dm_mode.m4.
11566         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
11567         m4/inttypes_h.m4, m4/uintmax_t.m4.
11568         (Depends-on): Add stdint.
11569         (lib_SOURCES): Add fsusage.h.
11570         * modules/getcwd (Files): Remove d-ino.m4.
11571         (Depends-on): Add d-ino.
11572         * modules/getndelim2 (Depends-on): Add stdint.
11573         * modules/glob (Files): Remove m4/d-type.m4.
11574         (Depends-on): Add d-type.
11575         * modules/host-os: New module.
11576         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
11577         m4/inttypes_h.m4, m4/uintmax_t.m4.
11578         * Depends-on: Add stdint.
11579         (lib_SOURCES): Add human.h.
11580         * modules/inttostr (Files): Remove m4/intmax_t.m4,
11581         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
11582         m4/uintmax_t.m4, m4/ulonglong.m4.
11583         (Depends-on): Add stdint.
11584         (EXTRA_DIST): Add inttostr.h.
11585         * modules/lchmod: New module.
11586         * modules/link-follow: New module.
11587         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
11588         (Depends-on): Add lchmod.
11589         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
11590         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
11591         (Depends-on): Add stdint.
11592         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
11593         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
11594         (Depends-on): Add stdint.
11595         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
11596         * modules/perl: New module.
11597         * modules/regex (Depends-on): Add stdint.
11598         * modules/rmdir-errno: New module.
11599         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
11600         m4/intmax_t.m4.
11601         (Depends-on): Add stdint.
11602         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
11603         m4/uintmax_t.m4.
11604         (Depends-on): Add stdint.
11605         * modules/unlink-busy: New module.
11606         * modules/utimecmp (Depends-on): Add stdint.
11607         * modules/uptime: New module.
11608         * modules/winsz-ioctl: New module.
11609         * modules/winsz-termios: New module.
11610         * modules/xnanosleep (Depends-on): Add nanosleep.
11611         * modules/ullong_max: Remove.
11612         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
11613         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
11614         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
11615         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
11616         (Depends-on): Add inttypes.
11617         (lib_SOURCES): Add xstrtol.h.
11618         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
11619         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
11620         * MODULES.html.sh: Move 'assert' into the assert section.
11621         Move 'dummy' into the linking section.
11622         Remove ullong_max.
11623         Add section for compatibility checks for POSIX:2001 functions,
11624         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
11625         winsz-ioctl, and winsz-termios into it.
11626         Add lchmod.
11627         Add top-level Misc section and put host-os, perl, and uptime
11628         into it.
11629
11630 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
11631
11632         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
11633         now assume the stdint module.  Do not include inttypes.h.
11634         * lib/fsusage.h: Likewise.
11635         * lib/getndelim2.c: Likewise.
11636         * lib/human.h: Likewise.
11637         * lib/inttostr.h: Likewise.
11638         * lib/obstack.c: Likewise.
11639         * lib/regex_internal.h: Likewise.
11640         * lib/tempname.c: Likewise.
11641         * lib/utimecmp.c: Likewise.
11642         * lib/xstrtol.h: Likewise.
11643
11644         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
11645
11646         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
11647         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
11648         * lib/xtime.h: Likewise.
11649
11650 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
11651
11652         * modules/openat (Files): Add lib/fchmodat.c.
11653         Fixes problem reported by Jay Youngman.
11654
11655 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
11656
11657         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
11658         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
11659
11660 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
11661             Bruno Haible  <bruno@clisp.org>
11662
11663         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
11664         and is a script that invokes bison. Tighten the code. Add comments.
11665
11666 2006-08-18  Jim Meyering  <jim@meyering.net>
11667
11668         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
11669         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
11670         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
11671         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
11672
11673 2006-08-18  Bruno Haible  <bruno@clisp.org>
11674
11675         * modules/bison-i18n: New file.
11676         * MODULES.html.sh (Internationalization functions): Add it.
11677
11678 2006-08-18  Bruno Haible  <bruno@clisp.org>
11679
11680         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
11681         sys/statvfs.h. When getmntinfo was found, check its declaration and
11682         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
11683
11684 2006-08-18  Bruno Haible  <bruno@clisp.org>
11685
11686         * m4/bison-i18n.m4: New file, from bison.
11687
11688 2006-08-18  Bruno Haible  <bruno@clisp.org>
11689
11690         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
11691         (ME_DUMMY): Treat "kernfs" as a dummy.
11692         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
11693
11694 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11695
11696         Update from coreutils.
11697
11698         2006-08-15  Jim Meyering  <jim@meyering.net>
11699
11700         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
11701
11702         2006-01-17  Jim Meyering  <jim@meyering.net>
11703
11704         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
11705
11706         2006-01-11  Jim Meyering  <jim@meyering.net>
11707
11708         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
11709         Check for the lchmod function.
11710
11711 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11712
11713         Update from coreutils.
11714
11715         * lib/__fpending.h: Add copyright notice.
11716         * lib/fprintftime.h: Likewise.
11717         * lib/savedir.c: Use (C) in copyright notice.
11718         * lib/savedir.h: Likewise.
11719
11720         2006-08-15  Jim Meyering  <jim@meyering.net>
11721
11722         * lib/at-func.c: New file, with the logic of all emulated at-functions.
11723         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
11724         in support of the EXPECTED_ERRNO macro.
11725         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
11726         definitions.  Instead, define the appropriate symbols and include
11727         "at-func.c".
11728         * lib/mkdirat.c (mkdirat): Likewise.
11729         * lib/fchmodat.c (fchmodat): Likewise.
11730         (ENOSYS): Remove definition.
11731         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
11732         it.  Don't include "unistd--.h" -- it wasn't ever used.
11733
11734         2006-01-17  Jim Meyering  <jim@meyering.net>
11735
11736         Rewrite fts.c not to change the current working directory,
11737         by using openat, fstatat, fdopendir, etc..
11738
11739         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
11740         (HAVE_OPENAT_SUPPORT): Define.
11741         [_LIBC] (fchdir): Don't undef or define; no longer used.
11742         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
11743         Now, this `function' always succeeds, and consumes its file descriptor
11744         parameter -- so callers must not close such FDs.  Update callers.
11745         (diropen_fd, opendirat, cwd_advance_fd): New functions.
11746         (diropen): Add parameter, SP.  Adjust all callers.
11747         Implement using diropen_fd, rather than open.
11748         (fts_open): Initialize new member, fts_cwd_fd.
11749         Remove fts_rft-setting code.
11750         (fts_close): Close fts_cwd_fd, if necessary.
11751         (__opendir2): Define in terms of opendir or opendirat,
11752         depending on whether the FST_NOCHDIR flag is set.
11753         (fts_build): Since fts_safe_changedir consumes its FD, and since
11754         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
11755         and close the dup'd file descriptor upon failure.
11756         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
11757         (fts_safe_changedir): Tweak semantics to reflect that this function
11758         now calls cwd_advance_fd and hence consumes its FD argument.
11759         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
11760         [struct FTS] (fts_rft): Remove now-unused member.
11761         [struct FTS] (fts_cycle.state): Improve comment.
11762
11763         * lib/openat.c (openat_needs_fchdir): New function.
11764         * lib/openat.h (openat_needs_fchdir): Declare it.
11765
11766 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
11767
11768         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
11769         Problem and fix reported by Pádraig Brady in
11770         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
11771
11772 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
11773
11774         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
11775
11776 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
11777
11778         * lib/memcoll.c (memcoll): Optimize for the common case where the
11779         arguments are bytewise equal.
11780
11781 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
11782
11783         * doc/regexprops-generic.texi: Add a copyright notice.
11784
11785 2006-08-15  Bruno Haible  <bruno@clisp.org>
11786
11787         * modules/tmpdir (License): Change to LGPL.
11788
11789 2006-08-15  Bruno Haible  <bruno@clisp.org>
11790
11791         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
11792         module.
11793
11794 2006-08-14  Simon Josefsson  <jas@extundo.com>
11795
11796         * config/srclist.txt: Add gnupload.
11797
11798 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
11799
11800         Change copyright notice from LGPL 2 to GPL 2, since that's the
11801         standard form used in the gnulib repository.
11802         * tests/test-lock.c: Likewise.
11803         * tests/test-stdint.c: Likewise.
11804         * tests/test-tls.c: Likewise.
11805
11806         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
11807         prelude-manager.  User shorter URLs for GNU projects, without '?'.
11808         Add copyright notice.
11809
11810         * check-module: Add copyright notice.  Output a copyright
11811         notice if "--version" is specified.
11812         * modules/COPYING: New file.
11813         * tests/test-getaddrinfo.c: Add copyright notice.
11814         * tests/test-verify.c: Likewise.
11815
11816 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
11817
11818         Change copyright notice from LGPL 2 to GPL 2, since that's the
11819         standard form used in the gnulib repository.
11820         * lib/lock.c: LGPL -> GPL.
11821         * lib/lock.h: Likewise.
11822         * lib/strnlen1.c: Likewise.
11823         * lib/strnlen1.h: Likewise.
11824         * lib/tls.c: Likewise.
11825         * lib/tls.h: Likewise.
11826         * lib/tmpdir.c: Likewise.
11827
11828         * lib/TODO: Remove; this belongs only in coreutils.
11829
11830 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
11831
11832         Add copyright notices to long-enough files that lack them, since
11833         otherwise the files aren't clearly free.  Use the same notice that
11834         getdate.texi already uses.
11835         * doc/alloca-opt.texi: Add copyright notice.
11836         * doc/alloca.texi: Likewise.
11837         * doc/ctime.texi: Likewise.
11838         * doc/functions.texi: Likewise.
11839         * doc/gcd.texi: Likewise.
11840         * doc/gnulib-tool.texi: Likewise.
11841         * doc/inet_ntoa.texi: Likewise.
11842         * doc/visibility.texi: Likewise.
11843
11844         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
11845         * doc/quote.texi: Add copyright notice.
11846
11847         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
11848         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
11849         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
11850         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
11851         is now obsolete, and give a pointer to the Sun list.
11852         Add copyright notice.
11853
11854 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
11855
11856         * config/srclistvars.sh: Add copyright notice.
11857
11858 2006-08-14  Eric Blake  <ebb9@byu.net>
11859
11860         Import the following change from libc:
11861
11862         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
11863
11864         Upstream bug 2997.
11865         * lib/misc/error.c: Add space between program name and message if file
11866         name is missing.
11867
11868 2006-08-12  Karl Berry  <karl@gnu.org>
11869
11870         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
11871         remove, these originate in gnulib now.
11872
11873 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11874
11875         * doc/Makefile (standards.info standards.html standards.dvi):
11876         Also depend on make-stds.texi.
11877
11878 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
11879
11880         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
11881         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
11882
11883         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
11884         in wchar_t.  Problem reported by Eric Blake.
11885
11886         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
11887         LEN is smaller than SIZE.  Suggested by Bruno Haible.
11888         Also, help the compiler to keep LEN in a register.
11889
11890 2006-08-11  Eric Blake  <ebb9@byu.net>
11891
11892         * users.txt: Sort.  Add tar.
11893
11894 2006-08-11  Bruno Haible  <bruno@clisp.org>
11895
11896         * users.txt: New file.
11897
11898 2006-08-11  Bruno Haible  <bruno@clisp.org>
11899
11900         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
11901         before <wchar.h>. Needed for OSF/1 and BSD/OS.
11902
11903 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
11904
11905         * modules/snprintf (Depends-on): Remove minmax.
11906         (Maintainer): Add self and Bruno.
11907
11908 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
11909
11910         * lib/.cppi-disable: Add snprintf.h, socket_.h.
11911         * lib/snprintf.c: Include <errno.h> and <limits.h>.
11912         (EOVERFLOW): Define if the system does not.
11913         Do not include "minmax.h"; it wasn't used.
11914         (snprintf): Don't assume size_t promotes to an unsigned type.
11915         Fix bug when generated string was too long for the buffer: the
11916         buffer's contents are supposed to be the initial prefix of the
11917         output.  Don't assume vasnprintf returns EOVERFLOW if the size
11918         exceeds INT_MAX; do the check ourselves.
11919
11920         Import the following changes from libc:
11921
11922         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
11923
11924         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
11925         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
11926         set wc to the byte which couldn't be converted.
11927         (re_string_reconstruct): Don't clear valid_raw_len before calling
11928         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
11929         tip_context using re_string_context_at.
11930
11931         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
11932
11933         * lib/posix/regex.h: g++ still cannot handled [restrict].
11934
11935         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
11936
11937         * lib/posix/regex.h: Remove special handling for VMS.
11938
11939 2006-08-10  Jim Meyering  <jim@meyering.net>
11940
11941         * modules/same-inode: New module.
11942         * modules/dev-ino: New module.
11943         * modules/cycle-check: Depend on these modules, rather than simply
11944         including their .h files.
11945         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
11946         required via m4/cycle-check.m4.
11947         * modules/same: Depend on new same-inode module, rather than
11948         including same-inode.h.
11949         * modules/chdir-safer: New file.
11950
11951         * modules/chown (Depends-on): Add stat-macros.
11952
11953 2006-08-10  Jim Meyering  <jim@meyering.net>
11954
11955         * m4/cycle-check.m4: New file.
11956         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
11957         * m4/dev-ino.m4, m4/same-inode.m4: New files.
11958
11959 2006-08-10  Eric Blake  <ebb9@byu.net>
11960
11961         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
11962         in from original proposal.
11963
11964 2006-08-10  Eric Blake  <ebb9@byu.net>
11965         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11966
11967         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
11968         namespace.
11969
11970 2006-08-10  Bruno Haible  <bruno@clisp.org>
11971
11972         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
11973         as well.
11974
11975 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
11976
11977         Sync from coreutils.
11978
11979         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
11980
11981         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
11982         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
11983
11984 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
11985
11986         * modules/restrict: Remove; no longer needed now that we assume
11987         Autoconf 2.59 or later.
11988         * MODULES.html.sh: Remove 'restrict'.
11989         * modules/argp (Depends-on): Remove 'restrict'.
11990         * modules/base64 (Depends-on): Likewise.
11991         * modules/gc (Depends-on): Likewise.
11992         * modules/getaddrinfo (Depends-on): Likewise.
11993         * modules/glob (Depends-on): Likewise.
11994         * modules/inet_ntop (Depends-on): Likewise.
11995         * modules/inet_pton (Depends-on): Likewise.
11996         * modules/memxor (Depends-on): Likewise.
11997         * modules/regex (Depends-on): Likewise.
11998         * modules/strtok_r (Depends-on): Likewise.
11999         * modules/time_r (Depends-on): Likewise.
12000
12001 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
12002
12003         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
12004         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
12005         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
12006         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
12007         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
12008         * m4/memxor.m4 (gl_MEMXOR): Likewise.
12009         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
12010         gl_C_RESTRICT replaced by AC_C_RESTRICT.
12011
12012         Merge from coreutils.
12013         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
12014         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
12015         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
12016         * m4/time_r.m4 (gl_TIME_R): Likewise.
12017
12018 2006-08-09  Karl Berry  <karl@gnu.org>
12019
12020         * config/srclist.txt: no more gettext-tools, per Bruno.
12021
12022 2006-08-08  Eric Blake  <ebb9@byu.net>
12023
12024         * modules/verror: New module.
12025         * MODULES.html.sh: Document it.
12026
12027 2006-08-08  Eric Blake  <ebb9@byu.net>
12028
12029         * lib/verror.h, lib/verror.c: New files.
12030
12031 2006-08-08  Eric Blake  <ebb9@byu.net>
12032
12033         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
12034         verror_at_line output complies with GNU Coding Standards even when
12035         file is NULL.
12036
12037 2006-08-07  Bruno Haible  <bruno@clisp.org>
12038
12039         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
12040         versions of AIX.
12041         Reported by Ralf Wildenhues.
12042
12043 2006-08-07  Bruno Haible  <bruno@clisp.org>
12044
12045         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
12046         in an AC_DEFUN. Needed so that the autoconf snippets can use
12047         AC_REQUIRE.
12048
12049 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12050
12051         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12052         Initialize pkgdata_DATA.
12053         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
12054         overriding it.
12055
12056 2006-08-06  Eric Blake  <ebb9@byu.net>
12057
12058         * lib/error.h: Fold in some upstream changes from glibc.
12059         * lib/error.c: Likewise.
12060
12061 2006-08-04  Bruno Haible  <bruno@clisp.org>
12062
12063         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12064         Make the mostlyclean-local rule depend on mostlyclean-generic.
12065         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
12066
12067 2006-07-31  Bruno Haible  <bruno@clisp.org>
12068
12069         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
12070         <stdlib.h>, <string.h>.
12071
12072 2006-07-30  Bruno Haible  <bruno@clisp.org>
12073
12074         * modules/readlink (License): Change to LGPL.
12075
12076 2006-07-30  Bruno Haible  <bruno@clisp.org>
12077
12078         * modules/javaversion (Makefile.am): Distribute javaversion.java and
12079         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
12080         set PKGDATADIR to point to it.
12081
12082 2006-07-30  Bruno Haible  <bruno@clisp.org>
12083
12084         * modules/csharpexec (configure.ac): Comment out macro invocation.
12085         * modules/javaexec (configure.ac): Likewise.
12086         * modules/javacomp-script (configure.ac): Likewise.
12087
12088         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
12089
12090 2006-07-30  Bruno Haible  <bruno@clisp.org>
12091
12092         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
12093         linked-list.
12094
12095 2006-07-30  Bruno Haible  <bruno@clisp.org>
12096
12097         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
12098
12099 2006-07-30  Bruno Haible  <bruno@clisp.org>
12100
12101         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12102         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
12103         get removed.
12104
12105 2006-07-29  Bruno Haible  <bruno@clisp.org>
12106
12107         Make it possible for gnulib-tool to work with locally modified or
12108         augmented gnulib repositories.
12109         * gnulib-tool (func_usage): Document --local-dir option.
12110         (local_gnulib_dir): New variable.
12111         Handle --local-dir option.
12112         (func_lookup_file): New function.
12113         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
12114         (func_get_description, func_get_filelist, func_get_description,
12115         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
12116         func_get_automake_snippet, func_get_include_directive,
12117         func_get_license, func_get_maintainer): Use func_lookup_file.
12118         (func_import, func_create_testdir): Use func_lookup_file.
12119
12120 2006-07-29  Bruno Haible  <bruno@clisp.org>
12121
12122         * modules/setenv (Depends-on): Add unistd.
12123
12124 2006-07-29  Bruno Haible  <bruno@clisp.org>
12125
12126         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
12127
12128 2006-07-29  Bruno Haible  <bruno@clisp.org>
12129
12130         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
12131
12132 2006-07-29  Bruno Haible  <bruno@clisp.org>
12133
12134         * gnulib-tool (import, update): If there is no Makefile.am, look at
12135         aclocal.m4, instead of bailing out.
12136
12137 2006-07-29  Bruno Haible  <bruno@clisp.org>
12138
12139         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
12140         Categorize the options by when they are useful.
12141
12142 2006-07-29  Bruno Haible  <bruno@clisp.org>
12143
12144         * gnulib-tool (func_usage): Document option --no-libtool.
12145         Handle option --no-libtool.
12146         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
12147         for changed semantics of $libtool variable.
12148         (func_import): Likewise. If libtool is not used, show this through
12149         an option --no-libtool.
12150         (func_create_testdir): Update.
12151
12152 2006-07-29  Bruno Haible  <bruno@clisp.org>
12153
12154         * gnulib-tool (func_import): Extend error message about missing
12155         --doc-base.
12156
12157 2006-07-29  Bruno Haible  <bruno@clisp.org>
12158
12159         * gnulib-tool (func_import): Don't create the $docbase directory if
12160         there is no file to store there.
12161
12162 2006-07-29  Bruno Haible  <bruno@clisp.org>
12163
12164         * gnulib-tool (autoconf_minversion): If a --dir option is given and
12165         relevant, look for configure.ac there, not in the current directory.
12166         Also use a simple search for AC_PREREQ, not "autoconf --trace".
12167
12168 2006-07-29  Bruno Haible  <bruno@clisp.org>
12169
12170         * gnulib-tool (SORT): New variable.
12171         (func_usage): Undocument --assume-autoconf option.
12172         Remove --assume-autoconf option handling.
12173         (autoconf_minversion): Determine from the contents of configure.ac.
12174         (func_import): Remove autoconf_minversion handling.
12175         Suggested by Eric Blake.
12176
12177 2006-07-29  Bruno Haible  <bruno@clisp.org>
12178
12179         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
12180
12181 2006-07-29  Bruno Haible  <bruno@clisp.org>
12182
12183         * config/srclist.txt (*setenv.[ch]): Remove rules.
12184
12185 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12186
12187         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
12188
12189 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12190
12191         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
12192         arpa/inet.h.
12193
12194 2006-07-28  Simon Josefsson  <jas@extundo.com>
12195
12196         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
12197         * modules/inet_pton (Depends-on): Likewise.
12198
12199 2006-07-28  Simon Josefsson  <jas@extundo.com>
12200
12201         * m4/netinet_in_h.m4: New file.
12202
12203 2006-07-28  Simon Josefsson  <jas@extundo.com>
12204
12205         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
12206         #include's.
12207
12208 2006-07-28  Simon Josefsson  <jas@extundo.com>
12209
12210         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
12211         #include's.
12212
12213 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
12214
12215         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
12216         setgid on directories only if they set these bits.
12217         * lib/modechange.h: Remove obsolete comment about masks.
12218
12219 2006-07-28  Eric Blake  <ebb9@byu.net>
12220
12221         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
12222         macro expansion.
12223
12224 2006-07-28  Bruno Haible  <bruno@clisp.org>
12225
12226         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
12227
12228 2006-07-28  Bruno Haible  <bruno@clisp.org>
12229
12230         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
12231
12232 2006-07-28  Bruno Haible  <bruno@clisp.org>
12233
12234         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
12235         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
12236         Define fallbacks.
12237         Avoids link error on FreeBSD 4.x.
12238         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
12239
12240         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
12241         encoding.
12242         * lib/mbswidth.c (iswcntrl): Likewise.
12243
12244 2006-07-27  Bruno Haible  <bruno@clisp.org>
12245
12246         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
12247         test.
12248
12249 2006-07-27  Bruno Haible  <bruno@clisp.org>
12250
12251         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
12252         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
12253         defined.
12254
12255 2006-07-26  Eric Blake  <ebb9@byu.net>
12256
12257         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
12258
12259 2006-07-26  Eric Blake  <ebb9@byu.net>
12260
12261         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
12262         like mingw that lack mkstemp.
12263         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
12264         avoid compilation warning on mingw.
12265
12266 2006-07-26  Bruno Haible  <bruno@clisp.org>
12267
12268         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
12269         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
12270         INT_FAST*_MIN, INTPTR_MIN.
12271
12272 2006-07-25  Bruno Haible  <bruno@clisp.org>
12273
12274         * modules/version-etc (Depends-on): Add stdarg.
12275
12276 2006-07-25  Bruno Haible  <bruno@clisp.org>
12277
12278         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
12279         complex commands.
12280
12281 2006-07-25  Bruno Haible  <bruno@clisp.org>
12282
12283         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
12284         defined in <stdarg.h> or config.h.
12285
12286 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12287
12288         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
12289         (gl_STDIO_SAFER): Remove.
12290
12291 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12292
12293         * MODULES.html.sh (File stream based Input/Output):
12294         Add fopen-safer, tmpfile-safer; remove stdio-safer.
12295         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
12296         * modules/fopen-safer, modules/tmpfile-safer: New files.
12297         * modules/stdio-safer: Remove.
12298
12299 2006-07-24  Bruno Haible  <bruno@clisp.org>
12300
12301         * modules/tmpdir: New file.
12302         * MODULES.html.sh (File system functions): Add it.
12303
12304 2006-07-24  Bruno Haible  <bruno@clisp.org>
12305
12306         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
12307         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
12308
12309 2006-07-24  Bruno Haible  <bruno@clisp.org>
12310
12311         * modules/clean-temp: New file.
12312
12313 2006-07-24  Bruno Haible  <bruno@clisp.org>
12314
12315         * m4/tmpdir.m4: New file, from GNU gettext.
12316
12317 2006-07-24  Bruno Haible  <bruno@clisp.org>
12318
12319         * lib/tmpdir.h: New file, from GNU gettext.
12320         * lib/tmpdir.c: New file, from GNU gettext.
12321
12322 2006-07-24  Bruno Haible  <bruno@clisp.org>
12323
12324         * lib/clean-temp.h: New file, from GNU gettext.
12325         * lib/clean-temp.c: New file, from GNU gettext.
12326
12327 2006-07-23  Eric Blake  <ebb9@byu.net>
12328
12329         * modules/stdio-safer (Files): Add tmpfile-safer.c.
12330         (Depends-on): Add binary-io.
12331
12332 2006-07-23  Eric Blake  <ebb9@byu.net>
12333
12334         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
12335
12336 2006-07-23  Eric Blake  <ebb9@byu.net>
12337
12338         * lib/tmpfile-safer.c: New file.
12339         * lib/stdio-safer.h (fopen_safer): Add prototype.
12340         * lib/stdio--.h (tmpfile): Make safer.
12341
12342 2006-07-23  Bruno Haible  <bruno@clisp.org>
12343
12344         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
12345         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
12346         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
12347         gl_linked_remove_at): Use it.
12348
12349 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12350         and Simon Josefsson <jas@extundo.com>
12351
12352         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
12353
12354         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
12355
12356 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
12357
12358         * modules/close-stream: New file.
12359         * modules/closeout (Description): Make it clear that it exits
12360         with a diagnostic on error.
12361         (Depends-on): Add close-stream.  Remove fpending, stdbool.
12362         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
12363
12364 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
12365
12366         * m4/close-stream.m4: New file.
12367
12368 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
12369
12370         * lib/close-stream.c, lib/close-stream.h: New files.
12371
12372 2006-07-22  Bruno Haible  <bruno@clisp.org>
12373
12374         Merge from GNU gettext 0.15.
12375
12376         2006-05-01  Bruno Haible  <bruno@clisp.org>
12377
12378                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
12379
12380         2006-07-22  Bruno Haible  <bruno@clisp.org>
12381
12382                 * modules/javaversion: New file.
12383                 * MODULES.html.sh (Java): Add javaversion.
12384
12385         2006-03-12  Bruno Haible  <bruno@clisp.org>
12386
12387                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
12388
12389         2005-12-04  Bruno Haible  <bruno@clisp.org>
12390
12391                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
12392                 (untested).
12393
12394         2006-06-21  Bruno Haible  <bruno@clisp.org>
12395
12396                 Avoid warnings from recent versions of mcs.
12397                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
12398                 -o, -L, -r any more. Use options documented since mcs-1.0
12399                 instead. Similarly for -g.
12400
12401         2005-12-04  Bruno Haible  <bruno@clisp.org>
12402
12403                 * build-aux/csharpcomp.sh.in: Suffix for resources is
12404                 .resources, not .resource.
12405
12406         2005-07-09  Bruno Haible  <bruno@clisp.org>
12407
12408                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
12409                 add a .dll suffix.
12410                 Reported by Mark Junker <mjscod@gmx.de>.
12411
12412         2006-07-22  Bruno Haible  <bruno@clisp.org>
12413
12414                 * modules/gettext: Upgrade to gettext-0.15.
12415                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
12416                 m4/visibility.m4.
12417                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
12418
12419 2006-07-22  Bruno Haible  <bruno@clisp.org>
12420
12421         Merge from GNU gettext 0.15.
12422
12423         2006-03-25  Bruno Haible  <bruno@clisp.org>
12424
12425                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
12426
12427         2006-07-21  Bruno Haible  <bruno@clisp.org>
12428
12429                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
12430                 "1.1".
12431
12432         2006-05-09  Bruno Haible  <bruno@clisp.org>
12433
12434                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
12435                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
12436                 for the conftestver execution.
12437
12438         2006-05-01  Bruno Haible  <bruno@clisp.org>
12439
12440                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
12441                 optional target-version argument. Verify that the compiler
12442                 groks source of the specified source-version, or add -source
12443                 option as necessary. Verify that the compiler produces
12444                 bytecode in the specified target-version, or add -target and
12445                 -source options as necessary. Make the result of the test
12446                 available as variable CONF_JAVAC. Also log error output in
12447                 config.log.
12448
12449         2006-03-11  Bruno Haible  <bruno@clisp.org>
12450
12451                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
12452
12453         2006-05-09  Bruno Haible  <bruno@clisp.org>
12454
12455                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
12456                 CLASSPATH_SEPARATOR to a semicolon.
12457
12458         2006-03-12  Bruno Haible  <bruno@clisp.org>
12459
12460                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
12461                 available as variable CONF_JAVA, for subsequent autoconf
12462                 tests. Also log error output in config.log.
12463
12464         2006-07-19  Bruno Haible  <bruno@clisp.org>
12465
12466                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
12467                 that getline works on glibc2 systems. Needed to avoid trouble
12468                 in relocatable.c.
12469                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
12470
12471         2005-12-04  Bruno Haible  <bruno@clisp.org>
12472
12473                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
12474                 launcher (untested).
12475
12476         2005-12-04  Bruno Haible  <bruno@clisp.org>
12477
12478                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
12479
12480         2006-07-22  Bruno Haible  <bruno@clisp.org>
12481
12482                 * gettext.m4: Update from GNU gettext-0.15.
12483                 * nls.m4: Likewise.
12484                 * po.m4: Likewise.
12485                 * inttypes-pri.m4: Likewise.
12486                 * inttypes-h.m4: Renamed from inttypes.m4.
12487                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
12488
12489 2006-07-22  Bruno Haible  <bruno@clisp.org>
12490
12491         Merge from GNU gettext 0.15.
12492
12493         2005-07-05  Bruno Haible  <bruno@clisp.org>
12494
12495                 * printf-args.c (printf_fetchargs): Work around broken
12496                 definition of wint_t on mingw.
12497
12498         2005-02-12  Bruno Haible  <bruno@clisp.org>
12499
12500                 * xallocsa.h: Add extern "C" for C++.
12501
12502         2006-05-17  Bruno Haible  <bruno@clisp.org>
12503
12504                 Cygwin portability.
12505                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
12506
12507         2006-04-30  Bruno Haible  <bruno@clisp.org>
12508
12509                 * progreloc.c: Include <mach-o/dyld.h> if available.
12510                 (find_executable): Use _NSGetExecutablePath when possible.
12511
12512         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
12513
12514                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
12515                 function.
12516
12517         2005-12-29  Bruno Haible  <bruno@clisp.org>
12518
12519                 * progreloc.c (set_program_name_and_installdir): Fix
12520                 compilation error.
12521
12522         2005-12-04  Bruno Haible  <bruno@clisp.org>
12523
12524                 Cygwin portability.
12525                 * progreloc.c: Include <windows.h> also on Cygwin.
12526                 (find_executable): Add support for Cygwin.
12527                 (set_program_name_and_installdir): Handle also platforms with
12528                 nonempty EXEEXT.
12529
12530         2006-07-11  Bruno Haible  <bruno@clisp.org>
12531
12532                 * javacomp.c: Fix a comment.
12533                 Reported by Jim Meyering.
12534
12535         2006-04-30  Bruno Haible  <bruno@clisp.org>
12536
12537                 * javacomp.h (compile_java_class): Add source_version,
12538                 target_version arguments.
12539                 * javacomp.c: Rewritten to choose only a compiler that
12540                 respects the specified source_version and target_version.
12541
12542         2006-06-27  Bruno Haible  <bruno@clisp.org>
12543
12544                 Assume correct S_ISDIR macro.
12545                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
12546
12547         2006-07-22  Bruno Haible  <bruno@clisp.org>
12548
12549                 * javaversion.h: New file, from GNU gettext.
12550                 * javaversion.c: New file, from GNU gettext.
12551                 * javaversion.java: New file, from GNU gettext.
12552                 * javaversion.class: New file, from GNU gettext.
12553
12554         2006-05-17  Bruno Haible  <bruno@clisp.org>
12555
12556                 Cygwin portability.
12557                 * javaexec.c (execute_java_class): Test for jview program
12558                 also on Cygwin.
12559
12560         2006-04-09  Bruno Haible  <bruno@clisp.org>
12561
12562                 * fatal-signal.c: Don't include string.h.
12563                 (at_fatal_signal): Use a copying loop instead of memcpy.
12564
12565         2005-12-04  Bruno Haible  <bruno@clisp.org>
12566
12567                 * csharpexec.c: Add support for 'clix' launcher (untested).
12568                 (execute_csharp_using_sscli): New function.
12569                 (execute_csharp_program): Call it.
12570
12571         2006-06-21  Bruno Haible  <bruno@clisp.org>
12572
12573                 Avoid warnings from recent versions of mcs.
12574                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
12575                 -o, -L, -r any more. Use options documented since mcs-1.0
12576                 instead. Similarly for -g.
12577
12578         2005-07-09  Bruno Haible  <bruno@clisp.org>
12579
12580                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
12581                 add a .dll suffix.
12582                 Reported by Mark Junker <mjscod@gmx.de>.
12583
12584         2006-06-17  Bruno Haible  <bruno@clisp.org>
12585
12586                 * config.charset: Update for NetBSD 3.0.
12587
12588         2006-05-17  Bruno Haible  <bruno@clisp.org>
12589
12590                 Cygwin portability.
12591                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
12592
12593         2006-05-16  Bruno Haible  <bruno@clisp.org>
12594
12595                 * localcharset.c [CYGWIN]: Include <windows.h>.
12596                 (get_charset_aliases): For Cygwin, return the same CPxxx
12597                 aliases list as under WIN32.
12598                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
12599                 the environment variables. Fall back to GetACP().
12600
12601         2006-04-05  Bruno Haible  <bruno@clisp.org>
12602
12603                 * config.charset: Update Juan Manuel Guerrero's address.
12604
12605         2005-02-12  Bruno Haible  <bruno@clisp.org>
12606
12607                 * allocsa.h: Add extern "C" for C++.
12608
12609         2005-02-10  Bruno Haible  <bruno@clisp.org>
12610
12611                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
12612                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
12613
12614         2006-07-22  Bruno Haible  <bruno@clisp.org>
12615
12616                 * gettext.h: Update to GNU gettext-0.15.
12617
12618 2006-07-22  Bruno Haible  <bruno@clisp.org>
12619
12620         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
12621         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
12622         lib-prefix.m4, longdouble.m4, ssize_t.m4.
12623
12624 2006-07-21  Eric Blake  <ebb9@byu.net>
12625
12626         * modules/stdlib-safer: New file.
12627         * MODULES.html.sh (File stream based Input/Output): Add
12628         stdlib-safer.
12629
12630 2006-07-21  Eric Blake  <ebb9@byu.net>
12631
12632         * lib/stdlib-safer.h: New file from coreutils, required by
12633         stdlib--.h.
12634
12635 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
12636
12637         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
12638
12639 2006-07-20  Bruno Haible  <bruno@clisp.org>
12640
12641         * gnulib-tool: Recognize new option --assume-autoconf.
12642         (autoconf_minversion): New variable.
12643         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
12644
12645 2006-07-20  Bruno Haible  <bruno@clisp.org>
12646
12647         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
12648
12649 2006-07-19  Derek R. Price  <derek@ximbiot.com>
12650
12651         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
12652         Reindent and repaginate.
12653
12654 2006-07-19  Derek Price  <derek@ximbiot.com>
12655
12656         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
12657         Correct grammar.
12658
12659 2006-07-17  Bruno Haible  <bruno@clisp.org>
12660
12661         * modules/list: New file.
12662         * modules/array-list: New file.
12663         * modules/carray-list, modules/carray-list-tests: New files.
12664         * modules/linked-list, modules/linked-list-tests: New files.
12665         * modules/avltree-list, modules/avltree-list-tests: New files.
12666         * modules/rbtree-list, modules/rbtree-list-tests: New files.
12667         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
12668         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
12669         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
12670         * modules/oset: New file.
12671         * modules/array-oset: New file.
12672         * modules/avltree-oset, modules/avltree-oset-tests: New files.
12673         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
12674         * tests/test-carray_list.c: New file.
12675         * tests/test-linked_list.c: New file.
12676         * tests/test-avltree_list.c: New file.
12677         * tests/test-rbtree_list.c: New file.
12678         * tests/test-linkedhash_list.c: New file.
12679         * tests/test-avltreehash_list.c: New file.
12680         * tests/test-rbtreehash_list.c: New file.
12681         * tests/test-avltree_oset.c: New file.
12682         * tests/test-rbtree_oset.c: New file.
12683         * MODULES.html.sh (Container data structures): New section.
12684
12685 2006-07-17  Bruno Haible  <bruno@clisp.org>
12686
12687         * m4/gl_list.m4: New file.
12688
12689 2006-07-17  Bruno Haible  <bruno@clisp.org>
12690
12691         * lib/gl_list.h: New file.
12692         * lib/gl_list.c: New file.
12693         * lib/gl_array_list.h: New file.
12694         * lib/gl_array_list.c: New file.
12695         * lib/gl_carray_list.h: New file.
12696         * lib/gl_carray_list.c: New file.
12697         * lib/gl_linked_list.h: New file.
12698         * lib/gl_linked_list.c: New file.
12699         * lib/gl_anylinked_list1.h: New file.
12700         * lib/gl_anylinked_list2.h: New file.
12701         * lib/gl_avltree_list.h: New file.
12702         * lib/gl_avltree_list.c: New file.
12703         * lib/gl_anyavltree_list1.h: New file.
12704         * lib/gl_anyavltree_list2.h: New file.
12705         * lib/gl_rbtree_list.h: New file.
12706         * lib/gl_rbtree_list.c: New file.
12707         * lib/gl_anyrbtree_list1.h: New file.
12708         * lib/gl_anyrbtree_list2.h: New file.
12709         * lib/gl_anytree_list1.h: New file.
12710         * lib/gl_anytree_list2.h: New file.
12711         * lib/gl_linkedhash_list.h: New file.
12712         * lib/gl_linkedhash_list.c: New file.
12713         * lib/gl_anyhash_list1.h: New file.
12714         * lib/gl_anyhash_list2.h: New file.
12715         * lib/gl_avltreehash_list.h: New file.
12716         * lib/gl_avltreehash_list.c: New file.
12717         * lib/gl_rbtreehash_list.h: New file.
12718         * lib/gl_rbtreehash_list.c: New file.
12719         * lib/gl_anytreehash_list1.h: New file.
12720         * lib/gl_anytreehash_list2.h: New file.
12721
12722         * lib/gl_oset.h: New file.
12723         * lib/gl_oset.c: New file.
12724         * lib/gl_array_oset.h: New file.
12725         * lib/gl_array_oset.c: New file.
12726         * lib/gl_avltree_oset.h: New file.
12727         * lib/gl_avltree_oset.c: New file.
12728         * lib/gl_rbtree_oset.h: New file.
12729         * lib/gl_rbtree_oset.c: New file.
12730         * lib/gl_anytree_oset.h: New file.
12731
12732 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
12733
12734         * m4/mkancesdirs.m4: New file.
12735         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
12736         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
12737         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
12738         it.
12739
12740 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
12741
12742         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
12743         * lib/mkancesdirs.h: New files.
12744         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
12745         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
12746         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
12747         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
12748         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
12749         callers changed.  Revamp internals significantly, by not
12750         attempting to create directories that are temporarily more
12751         permissive than the final results.  Do not attempt to use
12752         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
12753         This removes some race conditions, fixes some bugs, and simplifies
12754         things.  Use new dirchownmod function to do owner and mode changes.
12755         * lib/mkdir-p.h: Likewise.
12756         * lib/modechange.c (octal_to_mode): New function.
12757         (struct mode_change): New member mentioned.
12758         (make_node_op_equals): New arg mentioned.  All callers changed.
12759         (mode_compile): Keep track of which mode bits the user has explicitly
12760         mentioned.
12761         (mode_adjust): New arg DIR, so that we implement the X op correctly.
12762         New arg PMODE_BITS, to keep track of which mode bits the user
12763         mentioned; it treats S_ISUID and S_ISGID speciall.
12764         All callers changed.
12765         * lib/modechange.h: Likewise.
12766
12767 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
12768
12769         * MODULES.html.sh: Add mkancestors.
12770         * modules/mkancesdirs: New module.
12771         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
12772         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
12773         The chdir-safer and afs files are now orphans; I'll remove them
12774         unless someone speaks up.
12775         Add lib/dirchownmod.c, lib/dirchownmod.h.
12776         (Depends-on): Remove alloca, chown, save-cwd, dirname.
12777         Add lchown, mkancesdirs.
12778         (Maintainer): Add self.
12779
12780 2006-07-15  Karl Berry  <karl@gnu.org>
12781
12782         * gnulib-tool: help message wording/arrangement.
12783
12784 2006-07-14  Simon Josefsson  <jas@extundo.com>
12785
12786         * doc/gnulib.texi (Libtool and Windows): New section.
12787
12788 2006-07-12  Simon Josefsson  <jas@extundo.com>
12789
12790         * modules/gendocs (License): Fix license, approved by Karl.
12791
12792 2006-07-12  Eric Blake  <ebb9@byu.net>
12793
12794         * MODULES.html.sh: Add gendocs.
12795
12796 2006-07-11  Eric Blake  <ebb9@byu.net>
12797
12798         * modules/fdl: New module, to install doc/fdl.texi.
12799         * MODULES.html.sh: Add new section for documentation modules.
12800         * gnulib-tool: Avoid space-tab.
12801         (--doc-base): New option, to manage files from doc.
12802
12803 2006-07-11  Eric Blake  <ebb9@byu.net>
12804
12805         * m4/absolute-header.m4: Fix comments to match recent change.
12806
12807 2006-07-11  Eric Blake  <ebb9@byu.net>
12808
12809         * gnulib-tool: List --doc-base before --tests-base.
12810
12811 2006-07-11  Derek R. Price  <derek@ximbiot.com>
12812
12813         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
12814
12815 2006-07-11  Bruno Haible  <bruno@clisp.org>
12816
12817         * README: Mention where to put documentation.
12818
12819 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12820
12821         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
12822
12823 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
12824
12825         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
12826         to stdint.m4.
12827
12828 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
12829
12830         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
12831         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
12832         "no/such/file/stdint.h" when there is no such file, so that
12833         the resulting C code can be parsed by dodgy compilers.
12834         Problems reported by Bob Proulx.
12835
12836 2006-07-10  Derek R. Price  <derek@ximbiot.com>
12837
12838         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
12839         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
12840         macros into the GNU _D_EXACT_NAMLEN.
12841         * lib/savedir.c:  Likewise.
12842         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
12843
12844 2006-07-10  Derek R. Price  <derek@ximbiot.com>
12845         and Paul Eggert  <eggert@cs.ucla.edu>
12846
12847         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
12848         * m4/savedir.m4:
12849         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
12850         macros into the GNU _D_EXACT_NAMLEN.
12851
12852 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
12853
12854         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
12855         around the absolute name, to work around a problem with the HP-UX
12856         11.23 native C compiler, reported by Bob Proulx.
12857
12858 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
12859
12860         * doc/maintain.texi, make-stds.texi: Sync from
12861         <http://savannah.gnu.org/projects/gnustandards>.
12862
12863 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
12864
12865         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
12866
12867 2006-07-09  Jim Meyering  <jim@meyering.net>
12868
12869         * m4/glob.m4: Remove a doubled word in a comment.
12870
12871 2006-07-09  Jim Meyering  <jim@meyering.net>
12872
12873         * lib/argp-pv.c: Remove a doubled word in a comment.
12874         * lib/check-version.c (check_version): Likewise.
12875         * lib/javacomp.c (compile_java_class): Likewise.
12876
12877 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
12878
12879         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
12880         for the benefit of people using Autoconf 2.60.  If you want to
12881         support older Autoconf versions you can copy m4/onceonly_2_57.m4
12882         (or m4/onceonly.m4, if pre-2.57) manually.
12883
12884 2006-07-08  Jim Meyering  <jim@meyering.net>
12885
12886         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
12887         comment.
12888         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
12889         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
12890         comment.
12891
12892 2006-07-08  Jim Meyering  <jim@meyering.net>
12893
12894         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
12895
12896 2006-07-07  Simon Josefsson  <jas@extundo.com>
12897
12898         * tests/test-crc.c: Change expected crc value, the test vector
12899         were probably computed using the old broken crc.c?
12900
12901 2006-07-06  Simon Josefsson  <jas@extundo.com>
12902
12903         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
12904         now the canonical place for the M4 file).
12905
12906         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
12907         from the sys_socket dependency now.
12908
12909         * modules/inet_pton (Files): Ditto.
12910
12911         * modules/inet_ntop (Files): Ditto.
12912
12913 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
12914
12915         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
12916         not gl_PREREQ_GETUSERSHELL.
12917
12918 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12919
12920         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
12921         with only one argument, for Autoconf 2.60.
12922         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
12923         expand to nothing, so add a shell command to avoid syntax error.
12924         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
12925
12926 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12927
12928         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
12929
12930 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12931
12932         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
12933         no longer needed.  Check for isblank decl.
12934         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
12935         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
12936         of existence.
12937
12938 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12939
12940         * lib/getloadavg.c: Use __VMS, not VMS.
12941         * lib/getopt.c: Likewise.
12942         * lib/getpagesize.h: Likewise.
12943         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
12944         and probably does not work.
12945
12946 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12947
12948         * lib/.cppi-disable: Add wcwidth.
12949         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
12950         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
12951         (ISGRAPH): Remove.  All uses changed to isgraph.
12952         (FOLD) [!defined _LIBC]: Remove special case.
12953         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
12954         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
12955         HAVE_ISBLANK.
12956         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
12957         case.
12958
12959 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
12960
12961         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
12962         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
12963         brackets.  Other minor changes to suppress some compiler
12964         warnings.
12965
12966 2006-07-06  Derek R. Price  <derek@ximbiot.com>
12967         and Paul Eggert  <eggert@cs.ucla.edu>
12968
12969         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
12970         of invoking obsolescent AC_HEADER_DIRENT macro.
12971         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
12972         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
12973         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
12974         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
12975         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
12976         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
12977         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
12978         * m4/readdir.m4: Remove; no longer needed.
12979
12980 2006-07-06  Derek R. Price  <derek@ximbiot.com>
12981         and Paul Eggert  <eggert@cs.ucla.edu>
12982
12983         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
12984         Don't worry about this obsolete case any more.
12985         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
12986         directories.
12987         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
12988         worry about this obsolete case any more.
12989         * lib/fts.c: Likewise.
12990         * lib/getcwd.c: Likewise.
12991         * lib/glob.h: Likewise.
12992         * lib/savedir.c: Likewise.
12993
12994 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
12995
12996         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
12997         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
12998         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
12999         needed.
13000         All uses removed.
13001         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
13002         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
13003         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
13004         needed.
13005         * m4/getdate.m4 (gl_GETDATE): Likewise.
13006         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
13007         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
13008         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
13009         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
13010         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
13011         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
13012         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
13013         needed.
13014
13015 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
13016
13017         * lib/memcasecmp.c: Include <limits.h>.
13018         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
13019         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
13020         Don't assume isdigit succeeds only on '0' through '9'.
13021
13022 2006-07-05  Eric Blake  <ebb9@byu.net>
13023
13024         * modules/getaddrinfo (Depends-on): Add snprintf.
13025
13026 2006-07-05  Eric Blake  <ebb9@byu.net>
13027
13028         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
13029         to avoid 'header present but could not be compiled' on cygwin.
13030
13031 2006-07-05  Eric Blake  <ebb9@byu.net>
13032
13033         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
13034         missing from netdb.h.
13035         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
13036
13037 2006-07-05  Derek R. Price  <derek@ximbiot.com>
13038
13039         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
13040         no longer needed.
13041         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
13042         * m4/getdate.m4 (gl_GETDATE): Likewise.
13043         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
13044         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
13045         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
13046         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
13047         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
13048
13049 2006-07-05  Derek R. Price  <derek@ximbiot.com>
13050
13051         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
13052         All uses of is_space replaced by isspace.
13053         * lib/exit.h: Don't talk about STDC_HEADERS.
13054         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
13055         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
13056         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
13057         replaced by isprint etc.
13058         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
13059         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
13060         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
13061         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
13062         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
13063         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
13064
13065 2006-07-05  Bruno Haible  <bruno@clisp.org>
13066
13067         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
13068         the function exists, before testing against AIX.
13069         Reported by Martin Lambers <marlam@marlam.de>.
13070
13071 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
13072
13073         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
13074         From Mark D. Baushke.
13075
13076 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
13077
13078         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
13079         to the absolute name, not just one, to bypass Sun C 5.8's
13080         "warning: #include of /usr/include/... may be non-portable".
13081
13082 2006-07-04  Eric Blake  <ebb9@byu.net>
13083
13084         * modules/dirname-tests: New test module.
13085         * tests/test-dirname.c: New file, replacing dirname.c
13086         TEST_DIRNAME section that was recently deleted.
13087
13088 2006-07-04  Bruno Haible  <bruno@clisp.org>
13089
13090         Assume ANSI C header files and <ctype.h> functions.
13091         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
13092         (mbsnwidth): Use isprint, iscntrl instead.
13093
13094 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
13095
13096         Merge from coreutils.
13097         * MODULES.html.sh: Add xstrtold.
13098         * modules/xstrtold: New file.
13099         * modules/cycle-check (Files): Add lib/same-inode.h.
13100         * modules/dirname (Files): Add m4/double-slash-root.m4.
13101         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
13102         * modules/mkdir-p (Files): Add lib/same-inode.h.
13103         * modules/same (Files): Add lib/same-inode.h.
13104
13105 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
13106
13107         * m4/absolute-header.m4: Renamed from full-header-path.m4.
13108         This is to keep the terminology clean; POSIX talks about
13109         "absolute pathnames", not "full pathnames", but the GNU
13110         Coding Standards say to use "path" for something else;
13111         so use "absolute" to keep both sides happy.
13112         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
13113         Set gl_absolute_header, not gl_full_header_path.
13114         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
13115         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
13116         All uses changed.
13117
13118         Merge from coreutils.
13119
13120         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
13121
13122         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
13123         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
13124         want to require the building of c-strtod.o.
13125         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
13126         needs -lm directly.
13127         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
13128
13129         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
13130
13131         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
13132         --as-needed option if available.  Problem reported by Albert Chin in
13133         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
13134         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
13135         cc merely issues a bunch of annoying warnings for --as-needed
13136         (this problem was reported by Bob Proulx).  Also, try linking with
13137         -lm to detect a bug in binutils 2.16 (this problem was reported
13138         by Ralf Wildenhues).
13139
13140         2006-06-18  Jim Meyering  <jim@meyering.net>
13141
13142         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
13143         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
13144         macro.
13145         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
13146         also check for glibc-2.4's abort-inducing bug.
13147
13148         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
13149         Low-probability clean-up should be to use rmdir to get rid of
13150         the just-created directory, not unlink.
13151
13152         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
13153         configure fail, and request a bug report to inform us about it.
13154         Add a comment that, barring reports to the contrary, in 2007 we'll
13155         assume ftruncate is universally available.
13156
13157         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
13158
13159         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
13160
13161         2006-03-12  Jim Meyering  <jim@meyering.net>
13162
13163         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
13164         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
13165         * m4/same.m4 (gl_SAME): Likewise.
13166         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
13167
13168         2006-03-11  Eric Blake  <ebb9@byu.net>
13169
13170         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
13171         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
13172         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
13173         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
13174
13175 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
13176
13177         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
13178         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
13179         reported by Mark D. Baushke, one in
13180         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
13181
13182         Merge from coreutils.
13183
13184         * lib/.cppi-disable: Add stdint_.h.
13185         * lib/.cvsignore: Add stdint.h.
13186
13187         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
13188
13189         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
13190         both double and long double versions.
13191         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
13192         * lib/xstrtold.c: New file.
13193         * lib/xstrtod.h (xstrtold): New decl.
13194
13195         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
13196
13197         * lib/filemode.c (setst): Remove.
13198         (strmode): Rewrite to avoid setst.  This makes the code shorter,
13199         (arguably) clearer, and the generated code is a bit smaller on my
13200         Debian GNU/Linux stable x86 host.
13201
13202         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
13203
13204         * lib/filemode.c: Include "filemode.h" first, to test the interface.
13205         Assume that filemode.h includes sys/types.h and sys/stat.h.
13206         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
13207         (ftypelet): Reorder to put common cases first, for efficiency.
13208         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
13209         to do 'M'.
13210         (strmode): Renamed from mode_string, and now stores 12 bytes instead
13211         of 10, for compatibility with FreeBSD.  All callers changed.
13212         (filemodestring): Now stores 12 bytes instead of 10, and sets file
13213         types that can't be deduced solely from st_mode.  First arg is now a
13214         const pointer.
13215         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
13216         (strmode): Renamed from mode_string.
13217         (filemodestring): New decl.
13218         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
13219         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
13220         needed.
13221         (S_ISPORT, S_ISWHT): New macros, if not already defined.
13222
13223         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
13224
13225         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
13226         fsusage.h now does that.  Include fsusage.h first, to test interface.
13227         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
13228         at most one method (the old code could have generated decls that
13229         didn't conform to C89, not that this was ever exercised).
13230         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
13231
13232         2006-03-19  Jim Meyering  <jim@meyering.net>
13233
13234         Work even in a chroot where d_ino values for entries in "/"
13235         don't match the stat.st_ino values for the same names.
13236         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
13237         number, iterate through all entries again, using lstat instead.
13238         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
13239         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
13240
13241         * lib/getcwd.c (__getcwd): Clarify a comment.
13242         Use memcpy in place of a call to strcpy.
13243
13244         2006-03-12  Jim Meyering  <jim@meyering.net>
13245
13246         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
13247         matches that of the current directory (which we're about to chdir ".."
13248         out of), then save the dev-ino of the parent, instead.
13249
13250         * lib/same-inode.h (SAME_INODE): New file/macro.
13251         * lib/chdir-safer.c (SAME_INODE): Remove definition.
13252         Include "same-inode.h", instead.
13253         * lib/same.c: Likewise.
13254         * lib/cycle-check.h: Include "same-inode.h".
13255         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
13256         * lib/cycle-check.c (SAME_INODE): Remove definition.
13257         * lib/root-dev-ino.h: Include "same-inode.h".
13258
13259         2006-03-11  Eric Blake  <ebb9@byu.net>
13260
13261         * lib/same.c (same_name): s/base_name/last_component/
13262         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
13263         * lib/filenamecat.c (file_name_concat): Likewise.
13264
13265         2006-03-11  Eric Blake  <ebb9@byu.net>,
13266                     Paul Eggert  <eggert@cs.ucla.edu>
13267
13268         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
13269         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
13270         drive prefix.
13271         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
13272         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
13273         (last_component): New method.
13274         * lib/dirname.c (dir_len): Determine when drive letters need a
13275         subsequent slash.  Preserve // when it is special.
13276         (dir_name): Don't append dot when drive letter is absolute.
13277         [TEST_DIRNAME]: Move into a full-blown gnulib test.
13278         * lib/basename.c (base_name): New semantics - malloc the result.
13279         Preserve // when it is special.  Preserve relative files that look
13280         like drive letters.
13281         (base_len): Preserve // when it is special.
13282         (last_component): New method, similar to old base_name semantics.
13283         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
13284         base_name.  Strip redundant slashes from ///.
13285
13286 2006-07-03  Jim Meyering  <jim@meyering.net>
13287
13288         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
13289         macro is used before the first cycle_check call.
13290
13291 2006-07-03  Eric Blake  <ebb9@byu.net>
13292
13293         * modules/dirname (Depends-on): Add xstrndup.
13294
13295 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
13296
13297         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
13298         test cases, so that config.log is a bit easier to follow.
13299
13300 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
13301
13302         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
13303         both are 64 bits, since this seems to be the tradition, and this
13304         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
13305         we ever run into a host that prefers long long to long in this
13306         case, we'll need another configure-time test.  Problem reported by
13307         Jim Meyering.
13308
13309 2006-07-02  Eric Blake  <ebb9@byu.net>
13310
13311         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
13312
13313 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
13314
13315         * modules/inttypes (Depends-on): No longer depends on stdint.
13316         * modules/stdint (Description): Say more about assumptions.
13317         Say that the fast types might differ.  Say macros are used.
13318         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
13319         (Makefile.am): Revise list of substituted symbols to match
13320         new stdint.m4.
13321         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
13322         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
13323         * tests/test-stdint.c (verify_same_types)
13324         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
13325         the code conforms to C99/C89.
13326         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
13327         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
13328
13329 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
13330
13331         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
13332         but fix a bug, by requiring at least 64 bits.
13333         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
13334         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
13335         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
13336         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
13337
13338         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
13339         changes.  Make 2.59 a prerequisite.  Check and substitute for
13340         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
13341         inttypes.h.  Do not use special include files; just use the
13342         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
13343         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
13344         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
13345         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
13346         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
13347         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
13348         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
13349         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
13350         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
13351         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
13352         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
13353         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
13354         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
13355         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
13356         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
13357         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
13358         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
13359         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
13360         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
13361         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
13362         WINT_MAX.  Check for C99 conformance more strictly, by detecting
13363         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
13364         not check for things that C99 does not require, e.g., int8_t.  If
13365         a test isn't needed unless <stdint.h> isn't working, and is
13366         unlikely to be needed for any other reason, then don't do it
13367         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
13368         size_t, since we assume C89 freestanding at least.  Do not check
13369         for sig_atomic_t, wchar_t, or wint_t, since the code now does
13370         the right thing even if the types are not defined.  Instead use:
13371         (gl_STDINT_TYPE_PROPERTIES): New macro.
13372         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
13373         testing whether <sys/types.h> clashes, as Autoconf does this for
13374         us now.  All uses removed.
13375         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
13376         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
13377         (gl_CHECK_TYPE_SAME):
13378         Remove; no longer needed.
13379         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
13380         exists, since we'll return 0 anyway in that case.
13381         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
13382
13383 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
13384
13385         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
13386         possible collision with system files.
13387         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
13388         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
13389         WCHAR_MIN and WCHAR_MAX in this case.
13390         (<stddef.h>): Do not include; no longer needed.
13391         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
13392         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
13393         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
13394         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
13395         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
13396         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
13397         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
13398         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
13399         !defined(__c99))]: Include in this case too, since it's harmless
13400         now.
13401         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
13402         dangerous to do so.
13403         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
13404         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
13405         (_STDINT_MIN, _STDINT_MAX): New macros.
13406         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
13407         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
13408         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
13409         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
13410         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
13411         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
13412         macros, not typedefs; this simplifies things quite a bit.
13413         Use long int for all types narrower than int64_t.
13414         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
13415         Define in terms of long long int or int64_t or long int,
13416         not int64_t or int32_t.  This saves some compile-time testing.
13417         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
13418         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
13419         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
13420         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
13421         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
13422         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
13423         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
13424         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
13425         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
13426         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
13427         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
13428         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
13429         undef any previous version and define our own version, for
13430         simplicity and consistency with the new macros for types.
13431         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
13432         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
13433         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
13434         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
13435         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
13436         @WINT_T_SUFFIX@ to keep things simple here.
13437         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
13438         Simplify by assuming typical 8/16/32/64 host, since we're
13439         already doing that elsewhere anyway.
13440         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
13441         and assume long long int is 64 bits if available.  This
13442         speeds up 'configure'.
13443
13444 2006-07-01  Eric Blake  <ebb9@byu.net>
13445
13446         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
13447         Reported by Andreas Buening.
13448
13449 2006-07-01  Eric Blake  <ebb9@byu.net>
13450
13451         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
13452
13453 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
13454
13455         * lib/getaddrinfo.c: fixed typo
13456
13457 2006-06-29  Jim Meyering  <jim@meyering.net>
13458
13459         * modules/strftime (Maintainer): Add my name, since with the
13460         FPRINTFTIME changes strftime.c has forked from glibc.
13461
13462 2006-06-29  Eric Blake  <ebb9@byu.net>
13463
13464         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
13465
13466 2006-06-29  Eric Blake  <ebb9@byu.net>
13467
13468         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
13469
13470 2006-06-29  Eric Blake  <ebb9@byu.net>
13471
13472         * lib/stat_.h: New file.
13473
13474 2006-06-29  Eric Blake  <ebb9@byu.net>
13475
13476         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
13477         unused static function.
13478
13479 2006-06-29  Eric Blake  <ebb9@byu.net>
13480
13481         * doc/functions.texi (Function Portability): Document missing lstat
13482         on mingw.
13483
13484 2006-06-29  Eric Blake  <ebb9@byu.net>
13485
13486         * MODULES.html.sh: Add sys_stat.
13487         * modules/sys_stat: New module.
13488         * modules/mkstemp (Depends-on): Add sys_stat.
13489
13490 2006-06-29  Derek R. Price  <derek@ximbiot.com>
13491
13492         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
13493
13494 2006-06-29  Derek R. Price  <derek@ximbiot.com>
13495
13496         * m4/c-bs-a.m4: Removed.
13497
13498 2006-06-29  Derek R. Price  <derek@ximbiot.com>
13499
13500         * lib/strftime.c: Assume strftime() exists.
13501
13502 2006-06-29  Derek Price  <derek@ximbiot.com>
13503
13504         * modules/c-bs-a: Removed - \a is C89.
13505         * MODULES.html.sh: Remove c-bs-a.
13506
13507 2006-06-29  Bruno Haible  <bruno@clisp.org>
13508
13509         * modules/wcwidth (License): Change to LGPL.
13510
13511 2006-06-28  Simon Josefsson  <jas@extundo.com>
13512
13513         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
13514         on _WIN32.
13515
13516         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
13517         getnameinfo.
13518
13519 2006-06-28  Simon Josefsson  <jas@extundo.com>
13520
13521         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
13522
13523 2006-06-28  Simon Josefsson  <jas@extundo.com>
13524
13525         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
13526         functions there.  It will succeed on Windows XP, but on Windows
13527         2000 and (presumably) earlier, it will fail, and use the internal
13528         re-implementation.
13529         (use_win32_p): New function.
13530         (getaddrinfo): Use strtoul on servname, to support numeric ports.
13531         Support AI_NUMERICSERV to disable getservbyname.
13532         (getnameinfo): New function, only supports
13533         NI_NUMERICHOST|NI_NUMERICSERV for now.
13534
13535         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
13536         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
13537         getnameinfo.
13538
13539 2006-06-28  Eric Blake  <ebb9@byu.net>
13540
13541         * modules/wcwidth: New file.
13542         * modules/mbchar (Depends-on): Add wcwidth.
13543         * modules/mbswidth (Depends-on): Add wcwidth.
13544         * MODULES.html.sh: Add wcwidth.
13545
13546 2006-06-28  Eric Blake  <ebb9@byu.net>
13547
13548         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
13549         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
13550
13551 2006-06-28  Eric Blake  <ebb9@byu.net>
13552
13553         * lib/xvasprintf.h: Fix comments.
13554
13555 2006-06-28  Eric Blake  <ebb9@byu.net>
13556
13557         * lib/mbchar.h (wcwidth): Include wcwidth.h.
13558         * lib/mbswidth.c (wcwidth): Move from here...
13559         * lib/wcwidth.h: ...to this new file.
13560
13561 2006-06-28  Derek R. Price  <derek@ximbiot.com>
13562
13563         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
13564
13565         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
13566         it's obsolete.
13567         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
13568
13569 2006-06-28  Derek R. Price  <derek@ximbiot.com>
13570
13571         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
13572         Autoconf 2.60 says this stuff was obsolete.
13573
13574 2006-06-28  Bruno Haible  <bruno@clisp.org>
13575
13576         * modules/wcwidth (Files): Add m4/wchar_t.m4.
13577
13578 2006-06-28  Bruno Haible  <bruno@clisp.org>
13579
13580         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
13581         gt_TYPE_WCHAR_T.
13582
13583 2006-06-28  Bruno Haible  <bruno@clisp.org>
13584
13585         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
13586         declaration for wcwidth.
13587         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
13588
13589 2006-06-28  Bruno Haible  <bruno@clisp.org>
13590
13591         * lib/mkdtemp.c [MINGW]: Include <io.h>.
13592         (mkdir): Define using _mkdir.
13593
13594 2006-06-28  Bruno Haible  <bruno@clisp.org>
13595
13596         * lib/getaddrinfo.h: Fix POSIX URL.
13597         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
13598         _WIN32.
13599         (use_win32_p): Make static.
13600         (getaddrinfo): Reject service name if it is empty or does not consist
13601         solely of decimal digits, or if its value is > 65535.
13602         (getnameinfo): Remove useless casts.
13603
13604 2006-06-27  Simon Josefsson  <jas@extundo.com>
13605
13606         * modules/sys_select: New file, suggested by Bruno Haible, Paul
13607         Eggert and Martin Lambers.
13608
13609 2006-06-27  Simon Josefsson  <jas@extundo.com>
13610
13611         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
13612         Eggert and Martin Lambers.
13613
13614 2006-06-27  Bruno Haible  <bruno@clisp.org>
13615
13616         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
13617         result to 0, not to empty.
13618         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
13619
13620 2006-06-27  Bruno Haible  <bruno@clisp.org>
13621
13622         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
13623
13624 2006-06-26  Simon Josefsson  <jas@extundo.com>
13625
13626         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
13627         present.
13628
13629 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
13630
13631         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
13632         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
13633         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
13634
13635 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
13636
13637         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
13638
13639 2006-06-26  Bruno Haible  <bruno@clisp.org>
13640
13641         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
13642
13643 2006-06-26  Bruno Haible  <bruno@clisp.org>
13644
13645         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
13646
13647 2006-06-26  Bruno Haible  <bruno@clisp.org>
13648
13649         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
13650         SGI C compiler in pre-C99 mode.
13651         Suggested by Mark D. Baushke and Larry Jones.
13652
13653 2006-06-26  Bruno Haible  <bruno@clisp.org>
13654
13655         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
13656         WCHAR_MAX.
13657         Reported by Mark D. Baushke and Larry Jones.
13658
13659 2006-06-26  Bruno Haible  <bruno@clisp.org>
13660
13661         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
13662         in pre-C99 mode.
13663         Suggested by Mark D. Baushke and Larry Jones.
13664
13665 2006-06-23  Simon Josefsson  <jas@extundo.com>
13666             Bruno Haible  <bruno@clisp.org>
13667
13668         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
13669         Emit mostlyclean-local rule.
13670         (func_emit_tests_Makefile_am): Likewise.
13671         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
13672
13673 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
13674
13675         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
13676
13677 2006-06-23  Bruno Haible  <bruno@clisp.org>
13678
13679         * tests/test-stdint.c: Update to match ISO C 99 Technical
13680         Corrigendum 1.
13681
13682 2006-06-23  Bruno Haible  <bruno@clisp.org>
13683
13684         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
13685
13686 2006-06-23  Bruno Haible  <bruno@clisp.org>
13687
13688         * lib/stdint_.h: Treat IRIX like OpenBSD.
13689
13690 2006-06-23  Bruno Haible  <bruno@clisp.org>
13691
13692         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
13693         ISO C 99 Technical Corrigendum 1.
13694
13695 2006-06-22  Simon Josefsson  <jas@extundo.com>
13696
13697         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
13698         MinGW.
13699
13700 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
13701
13702         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
13703         needed.  Some compiler complained about some of them.  Problem reported
13704         by Larry Jones in
13705         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
13706
13707 2006-06-21  Simon Josefsson  <jas@extundo.com>
13708
13709         * tests/test-getaddrinfo.c: New file.
13710
13711         * modules/getaddrinfo-tests: New file.
13712
13713         * MODULES.html.sh: Add inet_pton.
13714
13715         * modules/inet_pton: New file.
13716
13717 2006-06-21  Simon Josefsson  <jas@extundo.com>
13718
13719         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
13720         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
13721         of using the (limited) gnulib implementation on Windows XP.
13722
13723         * m4/inet_pton.m4: New file.
13724
13725 2006-06-21  Simon Josefsson  <jas@extundo.com>
13726
13727         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
13728         variable.
13729
13730         * lib/socket_.h: Don't define WINVER.
13731
13732         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
13733         slightly modified to work in gnulib.
13734
13735 2006-06-21  Simon Josefsson  <jas@extundo.com>
13736
13737         * doc/gnulib.texi (Windows sockets): Add.
13738
13739 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
13740
13741         * lib/read-file.c (fread_file): Start with buffer allocation of
13742         0 bytes rather than 1 byte; this simplifies the code.
13743         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
13744         code to free buffer and save/restore errno.
13745         (internal_read_file): Remove unused local.
13746
13747 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
13748
13749         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
13750         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
13751         Problem reported by Denis Excoffier in
13752         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
13753
13754 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13755
13756         * modules/sys_socket, modules/socklen: Include sys/types since
13757         FreeBSD 4.x's sys/socket.h needs it.
13758
13759 2006-06-19  Simon Josefsson  <jas@extundo.com>
13760
13761         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
13762
13763 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
13764
13765         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
13766
13767 2006-06-19  Bruno Haible  <bruno@clisp.org>
13768
13769         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
13770         and FULL_PATH_INTTYPES_H in angle brackets.
13771         Reported by Mark D. Baushke <mdb@gnu.org>.
13772
13773 2006-06-17  Eric Blake  <ebb9@byu.net>
13774
13775         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
13776         errno.
13777
13778 2006-06-17  Bruno Haible  <bruno@clisp.org>
13779
13780         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
13781         <sys/inttypes.h>.
13782
13783 2006-06-17  Bruno Haible  <bruno@clisp.org>
13784
13785         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
13786         whether errno is declared. Assume <errno.h> declares errno.
13787
13788 2006-06-17  Bruno Haible  <bruno@clisp.org>
13789
13790         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
13791
13792 2006-06-17  Bruno Haible  <bruno@clisp.org>
13793
13794         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
13795         problem on Solaris 2.5.1.
13796
13797 2006-06-16  Eric Blake  <ebb9@byu.net>
13798
13799         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
13800         * lib/unicodeio.c [!defined errno]: Likewise.
13801         * lib/strtol.c [!defined errno]: Likewise.
13802         * lib/strtod.c [!defined errno]: Likewise.
13803
13804 2006-06-15  Eric Blake  <ebb9@byu.net>
13805
13806         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
13807
13808 2006-06-15  Eric Blake  <ebb9@byu.net>
13809
13810         * config/srclist.txt (ssize_t.m4): Lose sync.
13811
13812 2006-06-15  Bruno Haible  <bruno@clisp.org>
13813
13814         * modules/stdint (Files): Include m4/full-header-path.m4,
13815         m4/size_max.m4, m4/wchar_t.m4.
13816         (Makefile.am): Many more substitutions.
13817         * modules/stdint-tests: New file.
13818         * tests/test-stdint.c: New file.
13819
13820 2006-06-15  Bruno Haible  <bruno@clisp.org>
13821
13822         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
13823         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
13824         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
13825         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
13826         gl_CHECK_TYPE_SAME): New macros.
13827
13828 2006-06-15  Bruno Haible  <bruno@clisp.org>
13829
13830         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
13831
13832 2006-06-15  Bruno Haible  <bruno@clisp.org>
13833
13834         * lib/stdint_.h: Rewritten to be fully auto-configured.
13835         Fixes bug on HP-UX/IA64.
13836
13837 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
13838
13839         * lib/getdate.y (__attribute__): Don't define if already defined.
13840         Problem reported by Larry Jones.
13841         * lib/utimens.c (__attribute__): Likewise.
13842
13843 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
13844
13845         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
13846         reported by Andreas Schwab.
13847
13848 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13849             Bruno Haible  <bruno@clisp.org>
13850
13851         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
13852         check for the declaration of strnlen and a run test that exposes the
13853         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
13854         rpl_strndup.
13855
13856 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13857             Bruno Haible  <bruno@clisp.org>
13858
13859         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
13860
13861 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13862
13863         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
13864         compile test, for Tru64 4.0D.
13865
13866 2006-05-28  Karl Berry  <karl@gnu.org>
13867
13868         * config/srclist.txt (printf-args.c): lose sync.
13869
13870 2006-05-26  Martin Lambers  <marlam@marlam.de>
13871
13872         * lib/getpass.c: Updates the test for the native W32 API, and adds
13873         missing includes, thus fixing compilation warnings.
13874
13875 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
13876
13877         * lib/exclude.c (exclude_fnmatch): New function.
13878         (excluded_file_name): Call exclude_fnmatch.
13879         * lib/exclude.h (excluded_file_name): New prototype
13880
13881 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
13882
13883         * lib/tempname.c (small_open, large_open): New macros.
13884         (__open, __open64) [!_LIBC]: Remove.
13885         (__gen_tempname): Use small_open and large_open instead of __open
13886         and __open64.  This fixes a portability bug on HP-UX 11.11i
13887         reported by Simon Wing-Tang in
13888         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
13889
13890 2006-05-24  Bruno Haible  <bruno@clisp.org>
13891
13892         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
13893         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
13894         Reported by Thorsten Maerz <torte@netztorte.de> via
13895         Aaron Stone <aaron@serendipity.cx>.
13896
13897 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13898
13899         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
13900         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
13901         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
13902         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
13903         not really conditional on the cache.
13904         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
13905
13906 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13907
13908         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
13909         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
13910         (my_usleep): Don't mishandle maximum value.
13911
13912 2006-05-19  Jim Meyering  <jim@meyering.net>
13913
13914         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
13915
13916 2006-05-17  Bruno Haible  <bruno@clisp.org>
13917
13918         Cygwin portability.
13919         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
13920
13921 2006-05-17  Bruno Haible  <bruno@clisp.org>
13922
13923         * lib/stdint_.h: Fix recognition of Cygwin.
13924
13925 2006-05-15  Bruno Haible  <bruno@clisp.org>
13926
13927         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
13928         on libtool patch by Ralf Wildenhues.
13929
13930 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
13931
13932         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
13933         test for C99 conformance; (bool) 0.5 is an integer constant
13934         expression, but (bool) -0.5 is not.  Problem reported by Fedor
13935         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
13936
13937 2006-05-11  Simon Josefsson  <jas@extundo.com>
13938
13939         * m4/xvasprintf.m4: Fix obvious typo.
13940
13941 2006-05-11  Jim Meyering  <jim@meyering.net>
13942
13943         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
13944         James Lemley.
13945
13946 2006-05-10  Simon Josefsson  <jas@extundo.com>
13947
13948         * lib/md4.c: Typo fix, update copyright years.
13949         (K1, K2): Don't use L because it turn computations into 64-bit on
13950         64-bit platforms.
13951
13952 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
13953
13954         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
13955         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
13956         unwanted sign propagation, e.g., on hosts with 64-bit int.
13957         There still are some problems with reeelly weird theoretical hosts
13958         (e.g., 33-bit int) but it's not worth worrying about now.
13959         * lib/sha1.c (rol): Likewise.
13960         (K1, K2, K3, K4): Remove unnecessary L suffix.
13961
13962 2006-05-10  Bruno Haible  <bruno@clisp.org>
13963
13964         * lib/des.c: Cast to avoid warnings.
13965
13966 2006-05-09  Bruno Haible  <bruno@clisp.org>
13967
13968         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
13969         (Depends-on): Depend also on xsize, stdarg.
13970         (configure.ac): Add gl_XVASPRINTF.
13971
13972 2006-05-09  Bruno Haible  <bruno@clisp.org>
13973
13974         * m4/xvasprintf.m4: New file.
13975
13976 2006-05-09  Bruno Haible  <bruno@clisp.org>
13977
13978         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
13979         (EOVERFLOW): Define fallback value.
13980         (xstrcat): New function.
13981         (xvasprintf): Recognize the special case of a string concatenation.
13982
13983 2006-05-08  Eric Blake  <ebb9@byu.net>
13984
13985         * gnulib-tool (func_version): Base copyright year on CVS date.
13986         (func_emit_copyright_notice): New function.
13987         (func_emit_lib_Makefile_am): Use it.
13988         (func_emit_tests_Makefile_am): Likewise.
13989         (func_import): Likewise.
13990
13991 2006-05-08  Bruno Haible  <bruno@clisp.org>
13992
13993         * modules/stdarg: New file.
13994         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
13995
13996 2006-05-08  Bruno Haible  <bruno@clisp.org>
13997
13998         * m4/stdarg.m4: New file, from GNU gettext.
13999
14000 2006-05-08  Bruno Haible  <bruno@clisp.org>
14001
14002         * config/srclist.txt (build-aux/config.rpath): different from latest
14003         release.
14004
14005 2006-05-08  Bruno Haible  <bruno@clisp.org>
14006
14007         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
14008
14009 2006-05-05  Jim Meyering  <jim@meyering.net>
14010
14011         * m4/warning.m4: New file, derived from bison's file by the same name.
14012
14013 2006-05-03  Bruno Haible  <bruno@clisp.org>
14014
14015         * lib/stdint_.h: Shorter URL.
14016         * lib/inttypes.h: Likewise.
14017
14018 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
14019
14020         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
14021
14022 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
14023
14024         * lib/verify.h: Document the internals better.  Most of this change
14025         was written by Bruno Haible.
14026
14027 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
14028
14029         * doc/verify.texi: New file, partly based on a proposal by
14030         Bruno Haible.
14031
14032 2006-05-02  Bruno Haible  <bruno@clisp.org>
14033
14034         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
14035         test from here...
14036         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
14037
14038 2006-04-29  Bruno Haible  <bruno@clisp.org>
14039
14040         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
14041         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
14042
14043 2006-04-29  Bruno Haible  <bruno@clisp.org>
14044
14045         * gnulib-tool: Make --update option actually work.
14046
14047 2006-04-29  Bruno Haible  <bruno@clisp.org>
14048
14049         * doc/gcd.texi: New file.
14050         * doc/gnulib.texi: Include it.
14051
14052 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
14053
14054         * lib/getdate.y (get_date): When adding relative date, start with the
14055         initial time, not with the result of the first mktime call.
14056
14057 2006-04-25  Bruno Haible  <bruno@clisp.org>
14058
14059         * gnulib-tool (func_import): Output the include directives in three
14060         blocks, sorted separately.
14061         Reported by Ben Pfaff <blp@cs.stanford.edu>.
14062
14063 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
14064
14065         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
14066         to define main with arguments, for C++.  Reported by Eric Blake.
14067         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
14068         Prefer 'int main ()' to 'int main (void)', for C++.
14069         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
14070         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
14071         for 'main', for C99 and C++.
14072
14073 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
14074
14075         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
14076         Don't assume that exit status -1 is valid.
14077         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14078         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
14079         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
14080         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
14081         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
14082         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
14083         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
14084         functions can be used without declaring them, or that you can
14085         exit with status -1.
14086         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
14087
14088 2006-04-24  Karl Berry  <karl@gnu.org>
14089
14090         * config/srclist.txt (longdouble.m4): sync lost.
14091
14092 2006-04-24  Eric Blake  <ebb9@byu.net>
14093
14094         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
14095
14096 2006-04-24  Bruno Haible  <bruno@clisp.org>
14097
14098         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
14099         poll() implementation in AIX.
14100         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14101
14102 2006-04-24  Bruno Haible  <bruno@clisp.org>
14103
14104         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
14105         assigned exactly once.
14106
14107 2006-04-23  Claudio Fontana  <claudio@gnu.org>
14108             Bruno Haible  <bruno@clisp.org>
14109
14110         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
14111         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
14112         for AM_CPPFLAGS.
14113
14114 2006-04-23  Bruno Haible  <bruno@clisp.org>
14115
14116         * modules/copy-file: Depend on unistd.
14117         * modules/execute: Likewise.
14118         * modules/fatal-signal: Likewise.
14119         * modules/findprog: Likewise.
14120         * modules/mkdtemp : Likewise.
14121         * modules/pipe: Likewise.
14122         * modules/wait-process: Likewise.
14123
14124 2006-04-23  Bruno Haible  <bruno@clisp.org>
14125
14126         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
14127         condition was already detected.
14128         Reported by Ben Pfaff <blp@cs.stanford.edu>.
14129
14130 2006-04-23  Bruno Haible  <bruno@clisp.org>
14131
14132         * lib/copy-file.c: Include <unistd.h> unconditionally.
14133         * lib/execute.c: Likewise.
14134         * lib/fatal-signal.c: Likewise.
14135         * lib/findprog.c: Likewise.
14136         * lib/mkdtemp.c: Likewise.
14137         * lib/pipe.h: Likewise.
14138         * lib/pipe.c: Likewise.
14139         * lib/wait-process.h: Likewise.
14140
14141 2006-04-23  Bruno Haible  <bruno@clisp.org>
14142
14143         * gnulib-tool (func_usage): Fix --import description. Document
14144         --update.
14145         (func_import): Create temporary file in a temporary directory, if
14146         --dry-run is specified. Silence errors from 'grep' when there are no
14147         m4 files in $m4dir.
14148         (func_create_testdir): Silence errors from 'grep' when there are no
14149         m4 files in $m4dir.
14150         Reported by Karl Berry <karl@freefriends.org>.
14151
14152 2006-04-20  Bruno Haible  <bruno@clisp.org>
14153
14154         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
14155         one argument, so that the code will be portable to Autoconf 2.60.
14156         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
14157         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
14158         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
14159
14160 2006-04-19  Derek Price  <derek@ximbiot.com>
14161             Eric Blake  <ebb9@byu.net>
14162
14163         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
14164         rather than "/full/path.h".  Update comment to match.  Shorten &
14165         generalize m4_translit call via AS_TR_CPP.
14166
14167 2006-04-19  Derek Price  <derek@ximbiot.com>
14168             Eric Blake  <ebb9@byu.net>
14169
14170         * lib/inttypes.h: Correct grammar in comment.
14171
14172 2006-04-18  Derek Price  <derek@ximbiot.com>
14173             Paul Eggert  <eggert@cs.ucla.edu>
14174
14175         * modules/inttypes: New file.
14176         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
14177
14178 2006-04-18  Derek Price  <derek@ximbiot.com>
14179             Paul Eggert  <eggert@cs.ucla.edu>
14180
14181         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
14182         New files.
14183
14184 2006-04-18  Derek Price  <derek@ximbiot.com>
14185             Paul Eggert  <eggert@cs.ucla.edu>
14186
14187         * lib/inttypes.h: New file.
14188         * lib/strtoimax.c: Assume <inttypes.h>.
14189
14190 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
14191
14192         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
14193         isn't mounted.  Problem reported by Kir Kolyshkin.
14194
14195 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
14196
14197         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
14198         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
14199         Derek R. Price.
14200         * lib/regex.h (RE_DUP_MAX): Update comment to match current
14201         implementation.
14202
14203 2006-04-12  Eric Blake  <ebb9@byu.net>
14204
14205         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
14206         is now done automatically by the corresponding Autoconf macro.
14207
14208 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
14209
14210         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
14211         time_r.h.
14212
14213 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14214
14215         Merge regex changes from libc, removing some of our
14216         POSIX-conformance changes that were rejected and redoing them in a
14217         less-intrusive way.
14218
14219         * lib/regcomp.c (re_compile_internal, init_dfa):
14220         Length arg is now size_t, not Idx.  All uses changed.
14221         (peek_token): Forward decl now says internal_function.
14222         (__re_error_msgid, __re_error_msgid_idx):
14223         Now static rather than extern with attribute_hidden.
14224         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
14225         For some reason libc prefers K&R style defns for external functions.
14226         (regerror) [!defined _LIBC]: Likewise.
14227         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
14228         (seek_collating_symbol_entry, lookup_collation_sequence_value):
14229         (build_range_exp, build_collating_symbol):
14230         Use K&R-style defn.
14231         (re_compile_fastmap): Use '\0' to memset, not 0.
14232         (utf8_sb_map): Make the calculations more obvious.
14233         (init_dfa, parse_bracket_exp, build_charclass_op):
14234         Call calloc and cast result, as glibc does.
14235         (init_word_char, fetch_token, peek_token, peek_token_bracket):
14236         (build_range_exp, build_collating_symbol):
14237         Now internal functions.
14238
14239         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
14240
14241         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
14242         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
14243         Don't depend on VMS; depend on __VMS instead, for POSIX
14244         namespace cleanness.
14245         (regoff_t): Define to ssize_t, not long int.
14246
14247         Remove the REG_ macros named below.  Instead, make the old names
14248         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
14249         __USE_GNU_REGEX.
14250         (REG_BACKSLASH_ESCAPE_IN_LISTS):
14251         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
14252         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
14253         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
14254         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
14255         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
14256         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
14257         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
14258         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
14259         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
14260         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
14261         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
14262         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
14263         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
14264         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
14265         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
14266         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
14267         (REG_NREGS):
14268         Remove.  All uses replaced by the old RE_* names.
14269         (RE_BACKSLASH_ESCAPE_IN_LISTS):
14270         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
14271         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
14272         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
14273         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
14274         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
14275         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
14276         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
14277         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
14278         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
14279         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
14280         Don't bother having these macros be independent of each others'
14281         values, since they no longer exist in the POSIX name space.
14282
14283         Rename the following member names back to their old names,
14284         unless !__USE_GNU_REGEX.  All uses changed back.
14285         (buffer): Renamed from re_buffer.
14286         (allocated): Renamed from re_allocated.
14287         (used): Renamed from re_used.
14288         (syntax): Renamed from re_syntax.
14289         (fastmap): Renamed from re_fastmap.
14290         (translate): Renamed from re_translate.
14291         (can_be_null): Renamed from re_can_be_null.
14292         (regs_allocated): Renamed from re_regs_allocated.
14293         (fastmap_accurate): Renamed from re_fastmap_accurate.
14294         (no_sub): Renamed from re_no_sub.
14295         (not_bol): Renamed from re_not_bol.
14296         (not_eol): Renamed from re_not_eol.
14297         (newline_anchor): Renamed from re_newline_anchor.
14298         (num_regs): Renamed from rm_num_regs.
14299         (start): Renamed from rm_start.
14300         (end): Renamed from rm_end.
14301
14302         (free_state): Move up a bit.
14303
14304         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
14305         #define to be empty.
14306         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
14307         when that is what is intended.
14308         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
14309         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
14310         (MAX): New macro.
14311         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
14312         All uses changed back to re_malloc, etc.  It's now the caller's
14313         responsibility to check for overflow; all callers changed.
14314         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
14315         (re_x2nrealloc): Remove.
14316         (free_state): Remove decl.
14317
14318         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
14319         (re_set_registers, re_exec):
14320         Use K&R-style defn.
14321
14322         2006-01-31  Roland McGrath  <roland@redhat.com>
14323
14324         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
14325         Reported by Mike Frysinger <vapier@gentoo.org>.
14326
14327         2006-01-15  Andreas Jaeger  <aj@suse.de>
14328
14329         [BZ #1950]
14330         * lib/regex_internal.c (re_string_reconstruct): Adjust for
14331         build_wcs_upper_buffer change.
14332         (build_wcs_upper_buffer): Change return type.
14333
14334         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
14335
14336         * lib/regex_internal.h: Include <stdint.h> if available.
14337
14338         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
14339
14340         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
14341
14342         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
14343
14344         * lib/regcomp.c: Adjust for changed secondary hash function.
14345
14346         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
14347
14348         * lib/regex.h: Pretty printing.
14349         Clean up namespace a bit.
14350
14351         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
14352
14353         * lib/regexec.c (update_cur_sifted_state, check_arrival,
14354         check_arrival_add_next_nodes): Avoid using uninitialized variable.
14355
14356         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
14357                     Ulrich Drepper  <drepper@redhat.com>
14358
14359         [BZ #1302]
14360         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
14361         changed.
14362         (bitset_word_t): Renamed from bitset_word.  All uses changed.
14363
14364         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
14365
14366         [BZ #281]
14367         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
14368         * lib/regcomp.c: Remove unnecessary uses of
14369         unsigned RE_TRANSLATE_TYPE.
14370         * lib/regex_internal.h: Likewise.
14371         * lib/regex_internal.c: Likewise.
14372         * lib/regexec.c: Likewise.
14373         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
14374
14375         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
14376
14377         * lib/regexec.c (find_recover_state): Remove unnecessary
14378         initialization.
14379         (transit_state_bkref): Make DFA a const pointer.
14380         (get_subexp): Likewise.
14381         (check_arrival): Likewise.
14382         (update_cur_sifted_state): Likewise.
14383         (re_search_internal): Likewise.
14384         (prune_impossible_nodes): Likewise.
14385         (acquire_init_state_context): Likewise.
14386         (proceed_next_node): Likewise.
14387         (set_regs): Likewise.
14388         (free_fail_stack_return): Likewise.
14389         (check_arrival_expand_ecl): Mark DFA parameter as const.
14390         (check_arrival_expand_ecl_sub): Likewise.
14391         (check_subexp_limits): Likewise.
14392         (sub_epsilon_src_nodes):  Likewise.
14393         (add_epsilon_src_nodes):  Likewise.
14394         (merge_state_array): Likewise.
14395         (update_regs): Likewise.
14396         (build_trtable): Likewise.
14397         (sift_states_backward): Mark MCTX parameter as const.
14398         (build_sifted_states): Likewise.
14399         (update_cur_sifted_state): Likewise.
14400         (sift_states_mkref): Likewise.
14401         (check_arrival_expand_ecl): Mark eclosure as const.
14402         (check_dst_limits_calc_pos_1): Likewise.
14403         * lib/regex_internal.h (re_match_context_t): Make dfa a const
14404         pointer.
14405
14406         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
14407
14408         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
14409         (transit_state_sb): Likewise.
14410         (transit_state_mb): Likewise.
14411         (sift_states_iter_mb): Likewise.
14412         (check_arrival_add_next_nodes): Likewise.
14413         (check_node_accept_bytes): Change first parameter to pointer-to-const.
14414         [_LIBC] (re_search_2_stub): Use mempcpy.
14415
14416         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
14417         mbrtowc for very simple UTF-8 case.
14418
14419         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
14420         a pointer-to-const.
14421         (re_acquire_state_context): Likewise.
14422         * lib/regex_internal.h: Adjust prototypes.
14423
14424         * lib/regex.c: Prevent using C++ compilers.
14425
14426         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
14427         (re_acquire_state_context): Likewise.
14428
14429 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14430
14431         * modules/regex (Depends-on): Add ssize_t.
14432
14433 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14434
14435         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
14436         translation table.
14437
14438 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14439
14440         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
14441
14442 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
14443             Bruno Haible  <bruno@clisp.org>
14444
14445         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
14446         <sys/types.h> and <inttypes.h>.
14447
14448 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14449
14450         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
14451         `__error_t_defined', so argp.h will not typedef the former.
14452
14453 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
14454
14455         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
14456         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
14457         glibc names.  Even if glibc is changed to conform to POSIX, the
14458         traditional names will be available anyway, since regex depends on
14459         the extensions module.  Also, fix a longstanding typo in the
14460         implementation of Spencer ERE test #75 from grep 2.3.  Problems
14461         reported by Emanuele Giaquinta.  Also, change sense of cached
14462         variable, so that the message makes sense.
14463
14464 2006-03-24  Simon Josefsson  <jas@extundo.com>
14465
14466         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
14467         including some doc fixes.
14468         (base64_encode_alloc): Fix +1 bug on allocation failures.
14469
14470 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14471
14472         * lib/base64.c (base64_encode): Do not read past end of array with
14473         unsanitized input on systems with CHAR_BIT > 8.
14474
14475 2006-03-24  Eric Blake  <ebb9@byu.net>
14476
14477         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
14478
14479 2006-03-22  Karl Berry  <karl@gnu.org>
14480
14481         * config/srclist.txt (*setenv.[ch]): get from coreutils.
14482         * config/srclistvars.sh (COREUTILS): new var.
14483
14484 2006-03-17  Jim Meyering  <jim@meyering.net>
14485
14486         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
14487         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
14488
14489 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
14490
14491         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
14492         no longer needs it.  Instead, check that regoff_t is as least
14493         as wide as ptrdiff_t.
14494
14495         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
14496         so that our regex.h stays compatible with the installed regex.
14497         This is helpful for installers who configure --without-included-regex.
14498         Problem reported by Emanuele Giaquinta.
14499
14500 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
14501
14502         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
14503         Typedef to long int, not to off_, as POSIX will likely change
14504         in that direction.
14505
14506 2006-03-15  Eric Blake  <ebb9@byu.net>
14507
14508         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
14509
14510 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
14511
14512         * lib/argp-help.c (validate_uparams): Fix typo
14513         * lib/argp-parse.c (argp_default_options): Consistently begin help
14514         messages with a lowercase letter.
14515
14516 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
14517
14518         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
14519         overrun buffers and shouldn't be used (much as gets shouldn't be
14520         used).
14521         * lib/time_r.c (asctime_r, ctime_r): Likewise.
14522
14523 2006-03-08  Simon Josefsson  <jas@extundo.com>
14524
14525         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
14526         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14527
14528 2006-03-08  Simon Josefsson  <jas@extundo.com>
14529
14530         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
14531         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14532
14533 2006-03-08  Simon Josefsson  <jas@extundo.com>
14534
14535         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
14536         signal that configure disabled the device.
14537
14538 2006-03-08  Simon Josefsson  <jas@extundo.com>
14539
14540         * build-aux/maint.mk: Fix refresh-po, to handle no translated
14541         languages.
14542
14543 2006-03-07  Simon Josefsson  <jas@extundo.com>
14544
14545         * modules/getopt (Depends-on): Add unistd.
14546
14547         * modules/unistd: New file.
14548
14549 2006-03-07  Simon Josefsson  <jas@extundo.com>
14550
14551         * modules/gc-random: New file.
14552
14553 2006-03-07  Simon Josefsson  <jas@extundo.com>
14554
14555         * m4/unistd_h.m4: New file.
14556
14557 2006-03-07  Simon Josefsson  <jas@extundo.com>
14558
14559         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
14560         test to be side-effect free by storing the result in the cache
14561         variable gl_cv_lib_readline, and moving the assignment of
14562         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
14563         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14564
14565 2006-03-07  Simon Josefsson  <jas@extundo.com>
14566
14567         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
14568         error on missing devices (the functions will return an error).
14569
14570         * m4/gc.m4: Move random stuff to gc-random.m4
14571
14572 2006-03-07  Simon Josefsson  <jas@extundo.com>
14573
14574         * lib/unistd_.h: New file.
14575
14576 2006-03-07  Simon Josefsson  <jas@extundo.com>
14577
14578         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
14579
14580 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
14581
14582         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
14583         Problem reported by Juan Manuel Guerrero.
14584
14585 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
14586
14587         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
14588         the unistd module.
14589         * lib/getlogin_r.c: Likewise.
14590         * lib/getlogin_r.h: Likewise.
14591         * lib/glob.c: Likewise.
14592         * lib/pagealign_alloc.c: Likewise.
14593         * lib/unistd_.h: Remove; no longer needed.
14594
14595 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
14596
14597         * MODULES.html.sh (Support for systems lacking POSIX:2001):
14598         Add unistd.
14599         * modules/c-stack (Depends-on): Add unistd.
14600         * modules/getlogin_r: Likewise.
14601         * modules/glob: Likewise.
14602         * modules/pagealign_alloc: Likewise.
14603         * modules/unistd (Files): Remove lib/unistd_.h.
14604         (EXTRA_DIST): Remove.
14605         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
14606         need unistd_.h.
14607         (MOSTLYCLEANFILES): Remove unistd.h-t.
14608
14609 2006-03-03  Simon Josefsson  <jas@extundo.com>
14610
14611         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
14612
14613 2006-03-03  Simon Josefsson  <jas@extundo.com>
14614
14615         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
14616         libidn and bison.
14617
14618 2006-03-03  Simon Josefsson  <jas@extundo.com>
14619
14620         * build-aux/maint.mk: Add indent target.
14621
14622 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
14623
14624         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
14625         our replacement poll.h in any case, to avoid a differing
14626         declaration from a system header.  Seen on AIX.
14627
14628 2006-03-01  Simon Josefsson  <jas@extundo.com>
14629
14630         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
14631         <kasal@ucw.cz>.
14632
14633 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
14634
14635         * modules/gettime (Depends-on): Add extensions module.
14636         * modules/nanosleep (Depends-on): Likewise.
14637         * modules/settime (Depends-on): Likewise.
14638
14639 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
14640
14641         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
14642         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
14643         pedantically.
14644         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14645         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
14646
14647         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
14648         not "==".  Reported by Ralf Wildenhues.
14649
14650 2006-03-01  Karl Berry  <karl@gnu.org>
14651
14652         * doc/Copyright/request-*: new files, synced from gnuorg.
14653
14654 2006-03-01  Karl Berry  <karl@gnu.org>
14655
14656         * config/srclist.txt (Copyright/*): new entries.
14657
14658 2006-02-28  Simon Josefsson  <jas@extundo.com>
14659
14660         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
14661
14662 2006-02-27  Simon Josefsson  <jas@extundo.com>
14663
14664         * lib/base64.h: Indent #define's.  From Jim Meyering
14665         <jim@meyering.net>.
14666
14667 2006-02-27  Jim Meyering  <jim@meyering.net>
14668
14669         Revert the change of 2006-02-24, so these files can continue
14670         to be sync'd from gettext.
14671         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
14672         of `config.h'.
14673
14674 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
14675
14676         * modules/intprops: New file.
14677         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
14678         Add intprops.
14679         * modules/getloadavg (Files): Remove lib/intprops.h.
14680         (Depends-on): Add intprops.
14681         * modules/human: Likewise.
14682         * modules/inttostr: Likewise.
14683         * modules/openat: Likewise.
14684         * modules/sig2str: Likewise.
14685         * modules/userspec: Likewise.
14686         * modules/utimecmp: Likewise.
14687         * modules/xnanosleep: Likewise.
14688         * modules/xstrtol: Likewise.
14689
14690 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
14691
14692         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
14693         * modules/lock-tests (TESTS): Use $(EXEEXT).
14694         * modules/tls-tests: Likewise.
14695         * modules/argp-tests: Likewise.
14696         (check_PROGRAMS): New var, replacing...
14697         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
14698
14699 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14700
14701         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
14702         `config.h'.
14703
14704 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
14705
14706         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
14707
14708 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14709
14710         Sync from coreutils.
14711         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
14712         gl_CHDIR_SAFER.
14713
14714 2006-02-22  Jim Meyering  <jim@meyering.net>
14715
14716         Sync from coreutils.
14717         * m4/chdir-safer.m4: New file.
14718
14719 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
14720
14721         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
14722         AT_FDCWD exceeds INT_MAX.
14723         * lib/openat.h (AT_FDCWD): Likewise.
14724
14725 2006-02-17  Eric Blake  <address@hidden>
14726
14727         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
14728
14729 2006-02-16  Simon Josefsson  <jas@extundo.com>
14730
14731         * modules/getaddrinfo (Depends-on): Add sys_socket.
14732
14733 2006-02-15  Simon Josefsson  <jas@extundo.com>
14734
14735         * build-aux/maint.mk: Add dsyntax-check rule.
14736
14737 2006-02-15  Eric Blake  <ebb9@byu.net>
14738
14739         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
14740         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
14741         'present but cannot compile' warnings on cygwin.
14742         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
14743         use ws2tcpip.h if sys/socket.h works.
14744         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
14745         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
14746
14747 2006-02-14  Simon Josefsson  <jas@extundo.com>
14748
14749         * modules/maintainer-makefile (Files): Rename.
14750
14751         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
14752         and (the local) Makefile.cfg to maint-cfg.mk.
14753
14754         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
14755         to the latter.
14756
14757         * modules/maintainer-makefile: New module.
14758
14759         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
14760         severaly stripped to make it possible to build it up from scratch
14761         with reliable tests.
14762
14763         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
14764         fixes to permit overriding the default actions when configure and
14765         makefile are not available.
14766
14767 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
14768
14769         Sync from coreutils.
14770         * modules/lstat (Depends-on): Don't depend on xalloc.
14771         (License): Change from GPL to LGPL, since this is now simply a
14772         replacement for a libc function.
14773
14774 2006-02-14  Jim Meyering  <jim@meyering.net>
14775
14776         Sync from coreutils.
14777
14778         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
14779         failure on deficient systems, and simplify gnulib lgpl dependencies.
14780         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
14781         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
14782
14783         * lib/xalloc-die.c: Remove unused definition of N_.
14784
14785 2006-02-14  Jim Meyering  <jim@meyering.net>
14786
14787         Sync from coreutils.
14788         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
14789         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
14790         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
14791         double-quote uses of that variable, to accommodate the rare case in
14792         which getmntent is available in none of the libraries checked.  This
14793         happens at least on FreeBSD 5.0.
14794
14795 2006-02-13  Simon Josefsson  <jas@extundo.com>
14796
14797         * gnulib-tool (Usage): Fix --import, from
14798         karl@freefriends.org (Karl Berry).
14799
14800 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
14801
14802         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
14803
14804 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
14805
14806         * lib/argp-namefrob.h: Restore changes accidentally lost during the
14807         "autoupdate" on 2005-12-12.
14808
14809 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
14810
14811         * modules/closeout (Depends-on): Remove atexit.
14812
14813 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
14814
14815         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
14816         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
14817
14818 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
14819
14820         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
14821         __EXTENSIONS__ if this causes compilation to fail.  Problem
14822         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
14823         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
14824
14825 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
14826
14827         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
14828         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
14829         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
14830         All uses changed.
14831
14832 2006-01-26  Simon Josefsson  <jas@extundo.com>
14833
14834         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
14835         prototype is visible on mingw32.
14836
14837         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
14838         for mingw32.
14839
14840         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
14841         mingw32).
14842
14843 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
14844
14845         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
14846         attempt to open for write; this always fails, at least on POSIX
14847         hosts.  This reinstates the 2006-01-09 change, which was
14848         inadvertently removed.
14849
14850 2006-01-26  Bruno Haible  <bruno@clisp.org>
14851
14852         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
14853         Reported by Paul Eggert.
14854
14855 2006-01-26  Bruno Haible  <bruno@clisp.org>
14856             Paul Eggert  <eggert@cs.ucla.edu>
14857
14858         * lib/stdbool_.h (_Bool)
14859         [(! (defined __cplusplus || defined __BEOS__)
14860           && !defined __GNUC__
14861           && !(defined __HP_cc || defined __xlc__
14862                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
14863                || defined __sgi))]:
14864         #define to signed char in these cases too; this simplifies
14865         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
14866         etc., separately) and makes it more conservative.
14867
14868 2006-01-25  Simon Josefsson  <jas@extundo.com>
14869
14870         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
14871         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
14872         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
14873
14874 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
14875
14876         * lib/argp-namefrob.h: Bugfix. Remove stray #
14877
14878 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
14879
14880         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
14881         so that we test the test.
14882         Check for yet another HP-UX cc bug involving *bool |= bool.
14883
14884 2006-01-25  Karl Berry  <karl@gnu.org>
14885
14886         * config/srclist.txt (vasnprintf.c): sync lost.
14887
14888 2006-01-25  Jim Meyering  <jim@meyering.net>
14889
14890         Sync from the stable (b5) branch of coreutils:
14891
14892         * lib/fts.c (fts_children): Don't let close() clobber errno from
14893         failed fchdir().
14894
14895         * lib/fts.c (fts_stat): When following a symlink-to-directory,
14896         don't necessarily interpret stat-fails+lstat-succeeds as indicating
14897         a dangling symlink.  That can also happen at least for ELOOP.
14898         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
14899         FYI, this bug predates the inclusion of fts.c in coreutils.
14900
14901         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
14902         in their own block, so pre-c99 compilers don't object.
14903
14904         Avoid the double-free (first in fts_read, second in fts_close) that
14905         would occur when an `active' directory is made inaccessible (e.g.,
14906         via chmod a-x) during a traversal.
14907         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
14908         before returning.  Reproduce this failure by
14909         mkdir -p a/b; cd a; chmod a-x . b
14910         Reported by Stavros Passas.
14911
14912 2006-01-25  Jim Meyering  <jim@meyering.net>
14913
14914         * lib/fileblocks.c: Remove more useless parentheses.
14915         * lib/readutmp.h: Likewise.
14916
14917 2006-01-25  Bruno Haible  <bruno@clisp.org>
14918
14919         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
14920         warnings.
14921         Reported by Paul Eggert.
14922
14923 2006-01-25  Bruno Haible  <bruno@clisp.org>
14924
14925         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
14926         rid of a trap command. For Solaris sh.
14927         Reported by Mark D. Baushke <mdb@gnu.org>.
14928
14929 2006-01-24  Simon Josefsson  <jas@extundo.com>
14930
14931         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
14932         Bruno.
14933
14934 2006-01-24  Karl Berry  <karl@gnu.org>
14935
14936         * config/srclist.txt (argp-namefrob.h): sync lost.
14937
14938 2006-01-24  Jim Meyering  <jim@meyering.net>
14939
14940         * modules/openat (Files): Add lib/intprops.h.
14941         From Mark D. Baushke.
14942
14943 2006-01-24  Jim Meyering  <jim@meyering.net>
14944
14945         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
14946         Reported by Mark D. Baushke.
14947
14948 2006-01-24  Jim Meyering  <jim@meyering.net>
14949
14950         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
14951
14952 2006-01-24  Bruno Haible  <bruno@clisp.org>
14953
14954         * modules/strnlen (Maintainer): Change from glibc to all.
14955
14956 2006-01-24  Bruno Haible  <bruno@clisp.org>
14957
14958         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
14959         Patch by Paul Eggert.
14960
14961 2006-01-24  Bruno Haible  <bruno@clisp.org>
14962
14963         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
14964         already has it.
14965         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
14966         2005-11-26.
14967
14968         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
14969         'signed char' to avoid problems with the built-in _Bool type.
14970         Reported by Paul Eggert on 2005-11-26.
14971
14972 2006-01-24  Bruno Haible  <bruno@clisp.org>
14973
14974         * gnulib-tool (func_import): Avoid constructing complicated sed
14975         expressions inside backquote.
14976         Report and solution by Mark D. Baushke <mdb@gnu.org>.
14977
14978 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
14979
14980         These changes imported from libc.
14981         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
14982         test and two separate function calls.
14983         * lib/strndup.c (__strndup): Add libc_hidden_def.
14984
14985 2006-01-23  Simon Josefsson  <jas@extundo.com>
14986
14987         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
14988         Remove the test_*_SOURCES variable: automake infers it by default.
14989         * modules/tls-tests: Likewise.
14990
14991 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
14992
14993         Work around porting bugs reported by Dieter in
14994         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
14995         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
14996         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
14997         Include "getopt.h" first, to check interface.
14998         (getenv): Declare only if defined HAVE_DECL_GETENV &&
14999         !HAVE_DECL_GETENV.
15000         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
15001         (__strndup): Revert to K&R-style function dfns, the glibc style.
15002         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
15003         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
15004         Include strnlen.h first, to get prototype properly.
15005         (strnlen): Renamed from __strnlen.
15006         Remove weak alias.
15007
15008 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
15009
15010         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
15011
15012 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
15013
15014         * config/srclist.txt: Adjust to reflect glibc reorganization.
15015         This affects only comments.
15016
15017 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
15018
15019          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
15020          Reported by Bruce Korb <bkorb@gnu.org>.
15021
15022 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
15023
15024         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
15025         to pacify gcc -Wswitch-default.
15026
15027 2006-01-22  Bruno Haible  <bruno@clisp.org>
15028
15029         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
15030         temporary buffer for sprintf, take into account the precision also
15031         for 'd', 'i', 'u', 'o', 'x', 'X'.
15032
15033 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
15034
15035         * modules/argp-tests: New module
15036         * tests/test-argp.c: New file
15037         * tests/test-argp-2.sh: New file
15038
15039 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
15040
15041         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
15042         (__argp_base_name): Removed
15043         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
15044         typo.
15045         (__argp_base_name): Provide macro definition or extern declaration
15046         depending on the configuration
15047
15048 2006-01-20  Simon Josefsson  <jas@extundo.com>
15049
15050         * modules/inet_ntop (Depends-on): Depend on sys_socket.
15051
15052 2006-01-20  Simon Josefsson  <jas@extundo.com>
15053
15054         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
15055
15056 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
15057
15058         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
15059         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
15060         Suggested by Bruno Haible.
15061
15062 2006-01-20  Karl Berry  <karl@gnu.org>
15063
15064         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
15065         until changes propagate, I guess.
15066
15067 2006-01-19  Simon Josefsson  <jas@extundo.com>
15068
15069         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
15070
15071 2006-01-19  Simon Josefsson  <jas@extundo.com>
15072
15073         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
15074
15075 2006-01-19  Simon Josefsson  <jas@extundo.com>
15076
15077         * gnulib-tool: Set check_PROGRAMS.
15078
15079         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
15080         modules/des-tests, modules/gc-arcfour-tests,
15081         modules/gc-arctwo-tests, modules/gc-des-tests,
15082         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
15083         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
15084         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
15085         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
15086         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
15087         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
15088         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
15089         test_*_SOURCES.
15090
15091 2006-01-18  Simon Josefsson  <jas@extundo.com>
15092
15093         * modules/socklen (Depends-on): Depend on sys_socket.
15094
15095 2006-01-18  Simon Josefsson  <jas@extundo.com>
15096
15097         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
15098         modules/des-tests, modules/gc-arcfour-tests,
15099         modules/gc-arctwo-tests, modules/gc-des-tests,
15100         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
15101         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
15102         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
15103         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
15104         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
15105         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
15106         $(EXEEXT) to automake TESTS variable, for mingw32.
15107
15108 2006-01-17  Simon Josefsson  <jas@extundo.com>
15109
15110         * modules/socklen (Include): Need sys/socket.h.
15111
15112 2006-01-17  Bruno Haible  <bruno@clisp.org>
15113
15114         * modules/ssize_t (Include): Add <sys/types.h>.
15115
15116 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
15117
15118         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
15119         it's not portable and it doesn't work with cross-compiles.
15120         Problem reported by Bruno Haible.  Fix missing-$ typo in
15121         'test "gl_cv_ignore_unused_libraries" ...' that prevented
15122         -zignore from being used with Sun's C compiler.
15123
15124 2006-01-12  Simon Josefsson  <jas@extundo.com>
15125
15126         * lib/base64.c: Fix warning, reported by Bruno Haible
15127         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
15128
15129 2006-01-12  Bruno Haible  <bruno@clisp.org>
15130
15131         * modules/ldd: New file.
15132         * build-aux/ldd.sh.in: New file.
15133         * MODULES.html.sh (Support for building libraries and executables): Add
15134         ldd.
15135
15136 2006-01-12  Bruno Haible  <bruno@clisp.org>
15137
15138         * m4/ldd.m4: New file.
15139
15140 2006-01-12  Bruno Haible  <bruno@clisp.org>
15141
15142         * gnulib-tool (func_import, func_create_testdir): Don't go into an
15143         endless loop while replacing $auxdir with build-aux.
15144
15145 2006-01-11  Simon Josefsson  <jas@extundo.com>
15146
15147         * lib/stdint_.h (SIZE_MAX): Add missing (.
15148
15149 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15150
15151         Sync from coreutils.
15152         * lib/md5.c: Fix commentary typos.
15153         (alignof, UNALIGNED_P): No need for a GCC-specific version.
15154         * lib/md5.h (__attribute__): Remove; unused.
15155         * lib/sha1.c: Fix commentary to match md5 better.
15156         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
15157         so that we don't need to worry about alignment.  All uses changed.
15158         This merges the 2005-10-28 md5 change into sha1.
15159
15160 2006-01-11  Jim Meyering  <jim@meyering.net>
15161
15162         Sync from coreutils.
15163         * lib/md5.c (OP): Fix spacing.
15164
15165 2006-01-11  Bruno Haible  <bruno@clisp.org>
15166
15167         Ensure automatic ordering between gl_LOCK and gl_ARGP.
15168         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
15169         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
15170
15171 2006-01-11  Bruno Haible  <bruno@clisp.org>
15172
15173         Ensure automatic ordering between gl_LOCK and gl_ARGP.
15174         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
15175         the "early" section as well.
15176
15177 2006-01-11  Bruno Haible  <bruno@clisp.org>
15178
15179         Avoid "ar: no archive members specified" error on MacOS X.
15180         * gnulib-tool (func_modules_add_dummy): New function.
15181         (func_import, func_create_testdir): Invoke it.
15182
15183 2006-01-11  Bruno Haible  <bruno@clisp.org>
15184
15185         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
15186         with $auxdir in AC_CONFIG_FILES statements.
15187
15188 2006-01-11  Bruno Haible  <bruno@clisp.org>
15189
15190         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
15191         Initialize also noinst_HEADERS to empty.
15192
15193 2006-01-11  Bruno Haible  <bruno@clisp.org>
15194
15195         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
15196         variables.
15197         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
15198         autoreconf.
15199
15200 2006-01-11  Bruno Haible  <bruno@clisp.org>
15201
15202         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
15203         overridable by the user.
15204         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15205
15206 2006-01-10  Simon Josefsson  <jas@extundo.com>
15207
15208         * modules/sys_socket: New file.
15209
15210 2006-01-10  Simon Josefsson  <jas@extundo.com>
15211
15212         * m4/sys_socket_h.m4: New file.
15213
15214 2006-01-10  Simon Josefsson  <jas@extundo.com>
15215
15216         * lib/socket_.h: New file.
15217
15218 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
15219
15220         * modules/readutmp (Maintainer): Add myself.
15221
15222 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
15223
15224         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
15225         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
15226         People who are still concerned with buggy memcmp implementations
15227         can invoke gl_FUNC_MEMCMP themselves.
15228
15229 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
15230
15231         * lib/regex_internal.h (BITSET_WORD_BITS):
15232         Work around a bug in 64-bit PGC (before version 6.1-2), where the
15233         preprocessor mishandles large unsigned values as if they were signed.
15234         Problem reported by Claudio Fontana in
15235         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
15236
15237 2006-01-10  Jim Meyering  <jim@meyering.net>
15238
15239         Avoid the double-free (first in fts_read, second in fts_close) that
15240         would occur when an `active' directory is made inaccessible (e.g.,
15241         via chmod a-x) during a traversal.
15242         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
15243         before returning.  Reproduce this failure by
15244         mkdir -p a/b; cd a; chmod a-x . b
15245         Reported by Stavros Passas.
15246
15247         Sync from coreutils.
15248         * lib/sha1.c: Tweak grammar in a comment.
15249
15250 2006-01-10  Jim Meyering  <jim@meyering.net>
15251
15252         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
15253         Patch by Joerg Sonnenberger.
15254
15255 2006-01-10  Bruno Haible  <bruno@clisp.org>
15256
15257         * modules/readutmp: Depend on module free.
15258         * modules/strtok_r: Depend on module restrict.
15259
15260 2006-01-10  Bruno Haible  <bruno@clisp.org>
15261
15262         * modules/gettext (configure.ac): Add an invocation of
15263         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
15264
15265 2006-01-10  Bruno Haible  <bruno@clisp.org>
15266
15267         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
15268         Reported by Werner Lemberg <wl@gnu.org>.
15269
15270 2006-01-10  Bruno Haible  <bruno@clisp.org>
15271
15272         * lib/localcharset.c: Update from GNU gettext.
15273
15274 2006-01-10  Bruno Haible  <bruno@clisp.org>
15275
15276         * lib/argp.h (__const): Remove macro. Use const instead.
15277         * lib/argp-fmtstream.h (__const): Likewise.
15278         * lib/glob_.h (__const): Remove macro.
15279         * lib/glob-libc.h: Use const instead of __const.
15280
15281 2006-01-10  Bruno Haible  <bruno@clisp.org>
15282
15283         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
15284         variable.
15285         Needed to avoid an automake error regarding the 'gettext' module.
15286
15287 2006-01-09  Simon Josefsson  <jas@extundo.com>
15288
15289         * modules/inet_ntop (Depends-on): Add restrict.
15290
15291 2006-01-09  Simon Josefsson  <jas@extundo.com>
15292
15293         * modules/gc-rijndael-tests (License): Put under LGPL.
15294
15295         * modules/gc-des-tests (License): Likewise.
15296
15297         * modules/gc-arcfour-tests (License): Likewise.
15298
15299         * modules/gc-arctwo-tests (License): Likewise.
15300
15301         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
15302
15303         * modules/gc-hmac-sha1-tests (Files): Likewise.
15304
15305         * modules/gc-hmac-md5-tests (License): Likewise.
15306
15307         * modules/gc-sha1-tests (License): Likewise.
15308
15309         * modules/gc-md5-tests (License): Likewise.
15310
15311         * modules/gc-md4-tests (License): Likewise.
15312
15313         * modules/gc-md2-tests (License): Likewise.
15314
15315         * modules/gc-tests (License): Likewise.
15316
15317         * modules/des-tests (License): Likewise.
15318
15319         * modules/md4-tests (License): Likewise.
15320
15321         * modules/md2-tests (License): Likewise.
15322
15323 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
15324
15325         Sync from coreutils:
15326
15327         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
15328         * modules/lib-ignore: New file.
15329         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
15330         chdir-safer.m4, lchmod.m4.
15331         * modules/openat: Add mkdirat.c, openat-priv.h.
15332
15333 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
15334
15335         Sync from coreutils.
15336         * m4/lib-ignore.m4: New file.
15337         * m4/lchmod.m4: New file.
15338
15339 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
15340
15341         Sync from coreutils.
15342         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
15343         for write access: POSIX says that must fail.
15344         * lib/fts.c (diropen): Likewise.
15345         * lib/save-cwd.c (save_cwd): Likewise.
15346         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
15347         well, for minor improvements on hosts that lack O_DIRECTORY.
15348         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
15349         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
15350         Fall back on chown if open failed with EACCES.
15351
15352         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
15353         Report an error at compile-time if only a 1-second nominal clock
15354         resolution is found.
15355
15356         * lib/lchmod.h: New file.
15357         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
15358         (make_dir_parents): Use lchown rather than chown, and
15359         lchmod rather than chmod.
15360
15361         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
15362         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
15363         "proc" reported by n0dalus.
15364
15365         * lib/mountlist.c: Include <limits.h>.
15366         (dev_from_mount_options)
15367         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
15368         New function.  It no longer assumes "dev=" has the System V meaning
15369         on Linux (since it doesn't).  It also parses "dev=" more carefully.
15370         (read_file_system_list)
15371         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
15372         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
15373         dev= in that case.
15374
15375         * lib/posixtm.h (PDS_PRE_2000): New macro.
15376         * lib/posixtm.c (year): Arg is now syntax_bits rather than
15377         allow_century.  All usages changed.  Reject dates outside the range
15378         1969-1999 if PDS_PRE_2000 is used.
15379
15380 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
15381
15382         Sync from coreutils.
15383         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
15384         (Time of day items): Mention the possibility of leap seconds.
15385         Problem reported by Dr. David Alan Gilbert.
15386
15387 2006-01-09  Jim Meyering  <jim@meyering.net>
15388
15389         Sync from coreutils.
15390
15391         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
15392
15393         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
15394
15395         * lib/modechange.c (mode_compile): Reject an invalid mode string
15396         that starts with an octal digit.  From Andreas Gruenbacher.
15397
15398         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
15399         and dup to open_safer and dup_safer, respectively.
15400         (openat_permissive): Fix typo in comment.
15401
15402         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
15403         "gettext.h"; either no longer needed or are guaranteed by openat.h.
15404         (_): Remove; no longer needed.
15405         (openat): Renamed from rpl_openat; no need for rpl_openat
15406         since openat.h renames openat for us.
15407         Replace most of the body with a call to openat_permissive,
15408         to avoid duplicate code.
15409         Port to (probably hypothetical) environments were mode_t is
15410         wider than int.
15411         (openat_permissive): Require mode arg, so that we can check
15412         types better.  Put it just after flags.  Change cwd failure
15413         indicator from pointer-to-bool to pointer-to-errno-value.
15414         All callers changed.
15415         Invoke openat_save_fail and/or openat_restore_fail if
15416         cwd_errno is null, so that openat can call us.
15417         (openat_permissive, fdopendir, fstatat, unlinkat):
15418         Simplify errno handling to avoid some duplicate code,
15419         as it's OK to set errno on success.
15420         * lib/openat.h: Revamp code so that function macros depend on
15421         __OPENAT_PREFIX only, not also on AT_FDCWD.
15422         (openat_ro): Remove.  Caller changed to use openat_permissive.
15423         (openat_permissive): Now a macro, if not a function.
15424         (openat_restore_fail, openat_save_fail): Now always functions,
15425         since mkdirat needs them even if __OPENAT_PREFIX is defined.
15426
15427         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
15428         and openat.c.
15429         * lib/mkdirat.c: Include openat-priv.h.
15430         Remove definitions of macros defined therein.
15431         * lib/openat.c: Likewise.
15432
15433         * lib/mkdirat.c (mkdirat): New file and function.
15434         * lib/openat.h (mkdirat): Declare.
15435
15436         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
15437
15438         * lib/openat.h (openat_permissive): Declare.
15439         (openat_ro): Define.
15440
15441         * lib/openat.c (EXPECTED_ERRNO): New macro.
15442         (openat_permissive): New function -- used in remove.c rewrite.
15443         (all functions): Set errno just before returning, only if there
15444         was an actual failure.
15445         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
15446
15447         Emulate openat-family functions using Linux's procfs, if possible.
15448         Idea and some code based on Ulrich Drepper's glibc changes.
15449
15450         * lib/openat.c: (BUILD_PROC_NAME): New macro.
15451         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
15452         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
15453         before falling back on save_cwd and restore_cwd.
15454         (fdopendir, fstatat, unlinkat): Likewise.
15455
15456         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
15457         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
15458
15459         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
15460         as second argument to va_arg.  Otherwise, some versions of gcc
15461         warn that `if this code is reached, the program will abort'.
15462
15463 2006-01-09  Jim Meyering  <jim@meyering.net>
15464
15465         Sync from coreutils.
15466         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
15467         Require openat-priv.h.
15468
15469 2006-01-09  Bruno Haible  <bruno@clisp.org>
15470
15471         * modules/strnlen (Include): Use strnlen.h.
15472
15473 2006-01-09  Bruno Haible  <bruno@clisp.org>
15474
15475         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
15476
15477 2006-01-09  Bruno Haible  <bruno@clisp.org>
15478
15479         * lib/sysexit_.h (EX_OK): New macro.
15480         Suggested by Martin Lambers <marlam@marlam.de>.
15481
15482 2006-01-09  Bruno Haible  <bruno@clisp.org>
15483
15484         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
15485         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
15486
15487 2006-01-09  Bruno Haible  <bruno@clisp.org>
15488
15489         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
15490         numbers.
15491
15492 2006-01-09  Bruno Haible  <bruno@clisp.org>
15493
15494         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
15495         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
15496         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
15497         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
15498
15499 2006-01-09  Bruno Haible  <bruno@clisp.org>
15500
15501         * build-aux/javacomp.sh.in: New file, moved from lib/.
15502         * modules/javacomp-script (Files): Update.
15503         (configure.ac): Add AC_CONFIG_FILES invocation.
15504         (EXTRA_DIST): Remove variable.
15505
15506         * build-aux/javaexec.sh.in: New file, moved from lib/.
15507         * modules/javaexec (Files): Update.
15508         (configure.ac): Add AC_CONFIG_FILES invocation.
15509         (EXTRA_DIST): Remove javaexec.sh.in.
15510
15511         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
15512         * modules/csharpcomp-script (Files): Update.
15513         (configure.ac): Add AC_CONFIG_FILES invocation.
15514         (EXTRA_DIST): Remove variable.
15515
15516         * build-aux/csharpexec.sh.in: New file, moved from lib/.
15517         * modules/csharpexec (Files): Update.
15518         (configure.ac): Add AC_CONFIG_FILES invocation.
15519         (EXTRA_DIST): Remove csharpexec.sh.in.
15520
15521 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
15522
15523         Sync from coreutils.
15524
15525         Add POSIX ACL support
15526         * lib/acl.h (copy_acl, set_acl): Add declarations.
15527         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
15528         systems other than Linux.
15529         (chmod_or_fchmod): New function: use fchmod when possible,
15530         and chmod otherwise.
15531         (file_has_acl): Add a POSIX ACL implementation, with a
15532         Linux-specific subcase.
15533         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
15534         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
15535         acls are unsupported.
15536         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
15537         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
15538         are unsupported.
15539
15540 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
15541
15542         Sync from coreutils.
15543         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
15544
15545 2006-01-07  Bruno Haible  <bruno@clisp.org>
15546
15547         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
15548         gl_EARLY.
15549
15550 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
15551
15552         * lib/strftime.c (tzname): Don't declare if it is already #defined.
15553         Problem reported for Mingw by Mark Junker.
15554
15555 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
15556
15557         * README: Gnulib normally doesn't generate a tarball.
15558
15559 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
15560
15561         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
15562         long int, not int, for nanosecond counts, so that people who are
15563         used to POSIX struct timespec won't be surprised.  Reported by Jim
15564         Meyering.
15565
15566 2005-12-28  Bruno Haible  <bruno@clisp.org>
15567
15568         * build-aux/config.rpath: Update from GNU gettext.
15569
15570 2005-12-16  Jim Meyering  <jim@meyering.net>
15571
15572         * modules/fprintftime: New module.
15573         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
15574
15575 2005-12-16  Jim Meyering  <jim@meyering.net>
15576
15577         * m4/fprintftime.m4: New file.
15578
15579 2005-12-16  Jim Meyering  <jim@meyering.net>
15580
15581         * lib/fprintftime.c, lib/fprintftime.h: New files.
15582
15583 2005-12-15  Simon Josefsson  <jas@extundo.com>
15584
15585         * modules/socklen (configure.ac): Fix M4 macro name, to align with
15586         new m4/socklen.m4.
15587
15588 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
15589
15590         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
15591         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
15592
15593 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
15594
15595         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
15596         * lib/argp-help.c (fill_in_uparams): Check if the constructed
15597         struct uparams is valid. Fall back to the default values if it is
15598         not.
15599
15600 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
15601
15602         * modules/argp (Files): Add argp-pin.c
15603         (Depends-on): dirname
15604         (lib_SOURCES): Add argp-pin.c
15605
15606 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
15607
15608         * m4/argp.m4:  Check if program_invocation_name and
15609         program_invocation_short_name are declared and define appropriate
15610         macros if they are not.
15611
15612 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
15613
15614         * lib/argp-help.c (__argp_base_name): New function
15615         (__argp_short_program_name): Rewrite using __argp_base_name
15616         * lib/argp-namefrob.h: Define program_invocation_name and
15617         program_invocation_short_name if requested
15618         (__argp_base_name): Add prototype
15619         * lib/argp-parse.c (argp_def): Use gettext wrappers
15620         (argp_default_parser): Use __argp_base_name
15621         * lib/argp-pin.c: New file. Defines program_invocation_name and
15622         program_invocation_short_name on systems that lack them.
15623
15624 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
15625
15626         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
15627         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
15628         porting problem reported by Georg Schwarz in
15629         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
15630
15631 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
15632
15633         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
15634         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
15635         porting problem reported by Georg Schwarz in
15636         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
15637
15638 2005-12-05  Bruno Haible  <bruno@clisp.org>
15639
15640         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
15641         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
15642         Reported by Mark Junker <mjscod@gmx.de>.
15643
15644 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
15645
15646         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
15647         Use implementation from Albert Chin, with some
15648         comments/corrections by Stepan Kasal and myself.
15649
15650 2005-12-02  Bruno Haible  <bruno@clisp.org>
15651
15652         * gnulib-tool (func_import): Accept GPLed build tool modules when
15653         --lgpl is given.
15654         * modules/csharpcomp-script: New file.
15655         * modules/csharpcomp: Depend on it.
15656         * modules/javacomp-script: New file.
15657         * modules/javacomp: Depend on it.
15658         Suggested by Simon Josefsson.
15659
15660 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
15661
15662         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
15663         statement, to work around an HP-UX 10.20 compiler bug reported by
15664         Peter O'Gorman.
15665
15666 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
15667
15668         * modules/savedir (Depends-on): Add openat.
15669
15670 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
15671
15672         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
15673         (uintmax_t) [defined uintmax_t]: Do not declare.
15674         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
15675         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
15676         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
15677         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
15678         sake of portability to weird hosts that C allows (though we don't
15679         know of any practical examples).
15680
15681         * lib/savedir.h (fdsavedir): New decl.
15682         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
15683         contains most of the former guts of savedir.
15684         (savedir): Use savedirstream.
15685         Include "openat.h".
15686
15687 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
15688
15689         * modules/obstack (Files): Add m4/ulonglong.m4.
15690         Problem reported by Davide Angelocola.
15691
15692 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
15693
15694         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
15695         coreutils no longer futzes with rounding modes.
15696
15697 2005-11-14  Jim Meyering  <jim@meyering.net>
15698
15699         * lib/mkstemp-safer.c: Include <config.h>, required for possible
15700         replacement of mkstemp.
15701
15702 2005-11-10  Simon Josefsson  <jas@extundo.com>
15703
15704         * lib/readline.c: Remove EOL.
15705
15706 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
15707
15708         * modules/gethrxtime (Depends-on): Add gettime.
15709
15710 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
15711
15712         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
15713         or gettimeofday; no longer needed.
15714
15715 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
15716
15717         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
15718         time business.
15719         (gethrxtime) [! (HAVE_NANOUPTIME
15720         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
15721         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
15722         our own approximation.
15723
15724 2005-11-08  Eric Blake  <ebb9@byu.net>
15725
15726         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
15727
15728 2005-11-08  Eric Blake  <ebb9@byu.net>
15729
15730         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
15731
15732 2005-11-04  Bruno Haible  <bruno@clisp.org>
15733
15734         * gnulib-tool: Implement --update mode.
15735
15736 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
15737
15738         Fix porting problem reported by Theodoros V. Kalamatianos.
15739         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
15740         Don't assume that futimes failing means we must fail.
15741
15742 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
15743
15744         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
15745         variables to suggest the intended function of the PATH_MAX check.
15746
15747 2005-10-30  Kean Johnston  <jkj@sco.com>
15748
15749         Trivial changes to support SCO systems.
15750         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
15751         as PATH_MAX.
15752         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
15753         where __ptr is null when no I/O is pending.
15754
15755 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
15756
15757         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
15758         leave errno alone.  Problem reported by Dmitry V. Levin.
15759
15760 2005-10-28  Simon Josefsson  <jas@extundo.com>
15761
15762         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
15763         Test more.
15764
15765         * tests/test-gc-md2.c, tests/test-md2.c: New files.
15766
15767         * modules/md2, modules/md2-tests: New files.
15768
15769 2005-10-28  Simon Josefsson  <jas@extundo.com>
15770
15771         * m4/inet_ntop.m4: More tests.
15772
15773         * m4/gc-md2.m4, md2.m4: New file.
15774
15775 2005-10-28  Simon Josefsson  <jas@extundo.com>
15776
15777         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
15778         "restrict" keywords, as per POSIX.  Protect the function
15779         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
15780         Don't use K&R prototypes.  Check the sprintf return values.
15781         Re-define EAFNOSUPPORT if not present.  Indent.
15782
15783         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
15784         suggested by Bruno Haible <bruno@clisp.org>.
15785
15786         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
15787
15788         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
15789
15790         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
15791         libgcrypt).
15792
15793         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
15794
15795         * lib/md2.h, lib/md2.c: New files.
15796
15797 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
15798
15799         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
15800         errno alone.  Problem reported by Frederic Jolliton.
15801
15802 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
15803
15804         * modules/verify (License): Change from GPL to LGPL.  This is a
15805         tiny module and there are apparently near-equivalents that are
15806         under the BSD license.
15807
15808 2005-10-24  Simon Josefsson  <jas@extundo.com>
15809
15810         * modules/sha1: Relicense to LGPL.
15811
15812 2005-10-24  Simon Josefsson  <jas@extundo.com>
15813
15814         * lib/md4.h: Shrink buffer size, now that we changed the type.
15815
15816 2005-10-23  Simon Josefsson  <jas@extundo.com>
15817
15818         * gnulib-tool (func_import): Fix --tests-base.
15819
15820 2005-10-22  Simon Josefsson  <jas@extundo.com>
15821
15822         * modules/arcfour (Depends-on): Need stdint.
15823
15824 2005-10-22  Simon Josefsson  <jas@extundo.com>
15825
15826         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
15827         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
15828
15829 2005-10-22  Simon Josefsson  <jas@extundo.com>
15830
15831         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
15832         suggested by Bruno Haible <bruno@clisp.org>.
15833
15834 2005-10-22  Simon Josefsson  <jas@extundo.com>
15835
15836         * lib/crc.h: Include stddef.h, for size_t.
15837
15838 2005-10-22  Simon Josefsson  <jas@extundo.com>
15839
15840         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
15841         arcfour_context struct (simplify test vector testing in GNU
15842         Shishi).
15843
15844 2005-10-21  Simon Josefsson  <jas@extundo.com>
15845
15846         * modules/des, modules/des-tests: New files.
15847
15848         * modules/gc-des, modules/gc-des-tests: New files.
15849
15850         * tests/test-des.c, tests/test-gc-des.c: New file.
15851
15852 2005-10-21  Simon Josefsson  <jas@extundo.com>
15853
15854         * modules/arctwo, modules/arctwo-tests: New files.
15855
15856         * tests/test-arctwo.c: New file.
15857
15858         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
15859
15860         * tests/test-gc-arctwo.c: New file.
15861
15862 2005-10-21  Simon Josefsson  <jas@extundo.com>
15863
15864         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
15865         Bruno Haible <bruno@clisp.org>.
15866
15867         * m4/gc-des.m4: New file.
15868
15869 2005-10-21  Simon Josefsson  <jas@extundo.com>
15870
15871         * m4/arctwo.m4: New file.
15872
15873         * m4/gc-arctwo.m4: New file.
15874
15875 2005-10-21  Simon Josefsson  <jas@extundo.com>
15876
15877         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
15878         block.
15879
15880 2005-10-21  Simon Josefsson  <jas@extundo.com>
15881
15882         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
15883         <bruno@clisp.org>.
15884
15885         * lib/hmac-sha1.c (hmac_sha1): Likewise.
15886
15887         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
15888         Bruno Haible <bruno@clisp.org>.
15889
15890         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
15891         <bruno@clisp.org>.
15892
15893 2005-10-21  Simon Josefsson  <jas@extundo.com>
15894
15895         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
15896
15897 2005-10-21  Simon Josefsson  <jas@extundo.com>
15898
15899         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
15900
15901 2005-10-21  Simon Josefsson  <jas@extundo.com>
15902
15903         * lib/des.h, lib/des.c: New files.
15904
15905         * lib/gc-gnulib.c: Support DES.c
15906
15907 2005-10-21  Simon Josefsson  <jas@extundo.com>
15908
15909         * lib/arctwo.h, lib/arctwo.c: New files.
15910
15911         * lib/gc-gnulib.c: Support ARCTWO.
15912
15913 2005-10-21  Simon Josefsson  <jas@extundo.com>
15914
15915         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
15916         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15917
15918 2005-10-21  Simon Josefsson  <jas@extundo.com>
15919
15920         * gnulib-tool (func_import, func_create_testdir): Define automake
15921         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
15922         Makefile.am snippet),
15923         suggested by Bruno Haible <bruno@clisp.org>.
15924
15925         * modules/gc (Makefile.am): Use it.
15926
15927 2005-10-21  Bruno Haible  <bruno@clisp.org>
15928
15929         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
15930         patch.
15931
15932 2005-10-19  Simon Josefsson  <jas@extundo.com>
15933
15934         * tests/test-gc-rijndael.c: New file.
15935
15936         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
15937
15938 2005-10-19  Simon Josefsson  <jas@extundo.com>
15939
15940         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
15941         interface too.
15942
15943 2005-10-19  Simon Josefsson  <jas@extundo.com>
15944
15945         * tests/test-gc-arcfour.c: New file.
15946
15947         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
15948
15949 2005-10-19  Simon Josefsson  <jas@extundo.com>
15950
15951         * modules/gc-md4, modules/gc-md4-tests: New file.
15952
15953         * tests/test-gc-md4.c: New file.
15954
15955 2005-10-19  Simon Josefsson  <jas@extundo.com>
15956
15957         * m4/gc-md4.m4: New file.
15958
15959 2005-10-19  Simon Josefsson  <jas@extundo.com>
15960
15961         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
15962         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
15963         <kasal@ucw.cz>.
15964
15965 2005-10-19  Simon Josefsson  <jas@extundo.com>
15966
15967         * m4/gc-arcfour.m4: New file.
15968
15969         * m4/gc-rijndael.m4: New file.
15970
15971 2005-10-19  Simon Josefsson  <jas@extundo.com>
15972
15973         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
15974
15975 2005-10-19  Simon Josefsson  <jas@extundo.com>
15976
15977         * lib/gc-gnulib.c: Support ARCFOUR.
15978
15979 2005-10-19  Simon Josefsson  <jas@extundo.com>
15980
15981         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
15982         support.
15983
15984         * lib/gc.h: Add ECB enum type.
15985
15986         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
15987
15988 2005-10-18  Simon Josefsson  <jas@extundo.com>
15989
15990         * tests/test-md5.c: New file.
15991
15992         * modules/md5-tests: New file.
15993
15994 2005-10-18  Simon Josefsson  <jas@extundo.com>
15995
15996         * tests/test-md4.c: New file.
15997
15998         * modules/md4, modules/md4-tests: New files.
15999
16000 2005-10-18  Simon Josefsson  <jas@extundo.com>
16001
16002         * m4/md4.m4: New file.
16003
16004 2005-10-18  Simon Josefsson  <jas@extundo.com>
16005
16006         * lib/md4.h, lib/md4.c: New files, based on md5.?.
16007
16008 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
16009
16010         * gnulib-tool (func_create_testdir): Omit the second check whether
16011         BUILT_SOURCES in nonempty.
16012
16013 2005-10-17  Simon Josefsson  <jas@extundo.com>
16014
16015         * tests/test-rijndael.c: New file.
16016
16017 2005-10-17  Simon Josefsson  <jas@extundo.com>
16018
16019         * modules/sha1: Depend on stdint instead of md5.
16020
16021         * modules/md5: Depend on stdint, remove uint32_t.
16022
16023 2005-10-17  Simon Josefsson  <jas@extundo.com>
16024
16025         * modules/gc-sha1-tests: New file.
16026
16027         * tests/test-gc-sha1.c: New file.
16028
16029 2005-10-17  Simon Josefsson  <jas@extundo.com>
16030
16031         * m4/md5.m4: Remove call to uint32_t.m4.
16032
16033 2005-10-17  Simon Josefsson  <jas@extundo.com>
16034
16035         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
16036
16037         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
16038         md5.h.
16039
16040         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
16041
16042         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
16043
16044 2005-10-17  Simon Josefsson  <jas@extundo.com>
16045
16046         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
16047
16048 2005-10-17  Simon Josefsson  <jas@extundo.com>
16049
16050         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
16051
16052 2005-10-17  Simon Josefsson  <jas@extundo.com>
16053
16054         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
16055
16056         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
16057
16058 2005-10-17  Bruno Haible  <bruno@clisp.org>
16059
16060         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
16061         that it can also be used in a test.
16062
16063 2005-10-16  Bruno Haible  <bruno@clisp.org>
16064
16065         * gnulib-tool (func_emit_tests_Makefile_am): Also define
16066         TESTS_ENVIRONMENT, so that individual tests can augment it.
16067
16068         * gnulib-tool (func_create_testdir): Use an intermediate target for
16069         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
16070         macros, like $(ALLOCA_H), which cannot be passed through the command
16071         line.
16072
16073 2005-10-15  Simon Josefsson  <jas@extundo.com>
16074
16075         * modules/rijndael-tests: New file.
16076
16077         * modules/rijndael: New file.
16078
16079 2005-10-15  Simon Josefsson  <jas@extundo.com>
16080
16081         * m4/rijndael.m4: New file.
16082
16083 2005-10-15  Simon Josefsson  <jas@extundo.com>
16084
16085         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
16086
16087         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
16088
16089 2005-10-14  Simon Josefsson  <jas@extundo.com>
16090
16091         * tests/test-arcfour.c: New file.
16092
16093         * modules/arcfour, modules/arcfour-tests: New files.
16094
16095 2005-10-14  Simon Josefsson  <jas@extundo.com>
16096
16097         * m4/arcfour.m4: New file.
16098
16099 2005-10-14  Simon Josefsson  <jas@extundo.com>
16100
16101         * lib/arcfour.h, lib/arcfour.c: New files.
16102
16103 2005-10-14  Roland McGrath  <roland@redhat.com>
16104
16105         Import from libc.  [BZ #1331]
16106         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
16107         macro argument.
16108         Reported by Matej Vela <vela@debian.org>.
16109
16110 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
16111
16112         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
16113         include <wchar.h>; no longer needed.
16114
16115 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
16116
16117         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
16118
16119 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
16120         and  Ulrich Drepper  <drepper@redhat.com>
16121
16122         Import from libc.
16123         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
16124         instead of inline stream orientation test and two separate
16125         function calls.  Pay no attention to USE_IN_LIBIO.
16126
16127 2005-10-13  Simon Josefsson  <jas@extundo.com>
16128
16129         * modules/gc-hmac-md5-tests: New file.
16130
16131         * tests/test-gc-hmac-sha1.c: New file.
16132
16133         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
16134
16135         * modules/gc-hmac-md5-tests: New file.
16136
16137         * tests/test-gc-md5.c: New file.
16138
16139         * modules/gc-md5-tests: New file.
16140
16141 2005-10-13  Simon Josefsson  <jas@extundo.com>
16142
16143         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
16144         Move memory allocation outside of loop.
16145
16146 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
16147
16148         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
16149         intermediate directory is in a read-only file system.  Problem
16150         reported by Eric Blake.
16151
16152 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
16153
16154         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
16155
16156 2005-10-12  Simon Josefsson  <jas@extundo.com>
16157
16158         * tests/test-hmac-sha1.c: New file.
16159
16160         * modules/hmac-sha1-tests: New file.
16161
16162         * modules/hmac-sha1: New file.
16163
16164 2005-10-12  Simon Josefsson  <jas@extundo.com>
16165
16166         * modules/gc-sha1: New file.
16167
16168 2005-10-12  Simon Josefsson  <jas@extundo.com>
16169
16170         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
16171
16172         * tests/test-gc-pbkdf2-sha1.c: New file.
16173
16174 2005-10-12  Simon Josefsson  <jas@extundo.com>
16175
16176         * modules/gc-md5, modules/gc-hmac-md5: New files.
16177
16178         * modules/gc (Files): Remove md5, memxor and hmac files.
16179
16180 2005-10-12  Simon Josefsson  <jas@extundo.com>
16181
16182         * m4/gc-pbkdf2-sha1.m4: New file.
16183
16184         * m4/gc-hmac-sha1.m4: New file.
16185
16186         * m4/gc-sha1: New file.
16187
16188         * m4/hmac-sha1.m4: New file.
16189
16190 2005-10-12  Simon Josefsson  <jas@extundo.com>
16191
16192         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
16193
16194         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
16195
16196 2005-10-12  Simon Josefsson  <jas@extundo.com>
16197
16198         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
16199         suggested by Bruno Haible <bruno@clisp.org>.
16200
16201 2005-10-12  Simon Josefsson  <jas@extundo.com>
16202
16203         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
16204
16205 2005-10-12  Simon Josefsson  <jas@extundo.com>
16206
16207         * lib/gc-pbkdf2-sha1.c: New file.
16208
16209         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
16210
16211 2005-10-12  Simon Josefsson  <jas@extundo.com>
16212
16213         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
16214
16215         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
16216
16217 2005-10-12  Simon Josefsson  <jas@extundo.com>
16218
16219         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
16220         GC_USE_HMAC_MD5, respectively.
16221
16222         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
16223         (gc_md5): Fix typo.
16224
16225         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
16226
16227         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
16228
16229         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
16230
16231 2005-10-12  Bruno Haible  <bruno@clisp.org>
16232
16233         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
16234         Reported by Stepan Kasal <kasal@ucw.cz>.
16235
16236 2005-10-11  Simon Josefsson  <jas@extundo.com>
16237
16238         * tests/test-crc.c: New file.
16239
16240         * modules/crc, modules/crc-tests: New files.
16241
16242 2005-10-11  Simon Josefsson  <jas@extundo.com>
16243
16244         * m4/crc.m4: New file.
16245
16246 2005-10-11  Simon Josefsson  <jas@extundo.com>
16247
16248         * lib/gc.h: Add gc_hash and gc_hash_buffer.
16249
16250         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
16251
16252         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
16253
16254 2005-10-11  Simon Josefsson  <jas@extundo.com>
16255
16256         * lib/crc.h, lib/crc.c: New files.
16257
16258         * lib/gc.h (gc_hash_buffer): Add doc.
16259
16260 2005-10-11  Bruno Haible  <bruno@clisp.org>
16261
16262         * modules/c-strcasestr: New file.
16263         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
16264
16265 2005-10-11  Bruno Haible  <bruno@clisp.org>
16266
16267         * modules/c-strcase: New file.
16268         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
16269
16270 2005-10-11  Bruno Haible  <bruno@clisp.org>
16271
16272         * lib/strcasecmp.c: Include limits.h.
16273         (strcasecmp): Avoid integer overflow on exotic platforms.
16274         * lib/strncasecmp.c: Include limits.h.
16275         (strncasecmp): Avoid integer overflow on exotic platforms.
16276         Reported by Paul Eggert.
16277
16278 2005-10-11  Bruno Haible  <bruno@clisp.org>
16279
16280         * lib/c-strcasestr.h: New file, from GNU gettext.
16281         * lib/c-strcasestr.c: New file, from GNU gettext.
16282
16283 2005-10-11  Bruno Haible  <bruno@clisp.org>
16284
16285         * lib/c-strcase.h: New file, from GNU gettext.
16286         * lib/c-strcasecmp.c: New file, from GNU gettext.
16287         * lib/c-strncasecmp.c: New file, from GNU gettext.
16288
16289 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
16290
16291         * modules/mempcpy (License): GPL -> LGPL.
16292         * modules/strchrnul (License): Likewise.
16293         * modules/sysexits (License): Likewise.
16294
16295 2005-10-08  Simon Josefsson  <jas@extundo.com>
16296
16297         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
16298
16299 2005-10-07  Simon Josefsson  <jas@extundo.com>
16300
16301         * m4/memxor.m4: Remove gl_C_RESTRICT call.
16302
16303 2005-10-06  Simon Josefsson  <jas@extundo.com>
16304
16305         * tests/test-hmac-md5.c: New file.
16306
16307         * modules/hmac-md5-tests: New file.
16308
16309         * modules/hmac-md5: New file.
16310
16311 2005-10-06  Simon Josefsson  <jas@extundo.com>
16312
16313         * m4/hmac-md5.m4: New file.
16314
16315         * m4/memxor.m4: Require gl_C_RESTRICT.
16316
16317 2005-10-06  Simon Josefsson  <jas@extundo.com>
16318
16319         * lib/memxor.c (memxor): Avoid casts and warnings.
16320
16321 2005-10-06  Simon Josefsson  <jas@extundo.com>
16322
16323         * lib/hmac-md5.c: New file.
16324
16325         * lib/hmac.h: New file.
16326
16327 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
16328
16329         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
16330         promotes to int, not unsigned int, to catch the AIX 5.3
16331         compiler bug.
16332
16333 2005-10-05  Simon Josefsson  <jas@extundo.com>
16334
16335         * modules/memxor: New file.
16336
16337         * modules/iconv (Files): Move config.rpath to havelib, it is used
16338         there.
16339
16340         * modules/havelib (Files): Add config.rpath.
16341
16342 2005-10-05  Simon Josefsson  <jas@extundo.com>
16343
16344         * m4/memxor.m4: New file.
16345
16346 2005-10-05  Simon Josefsson  <jas@extundo.com>
16347
16348         * lib/memxor.c (memxor): Fix compiler error.
16349
16350         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
16351         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
16352
16353         * lib/memxor.h, lib/memxor.c: New files.
16354
16355         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
16356         we assume all systems have it, suggested by Jim Meyering
16357         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
16358         any systems lack sys/socket.h; mingw32 is known to lack it, but we
16359         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
16360         same reasons.
16361
16362 2005-10-05  Simon Josefsson  <jas@extundo.com>
16363
16364         * config/srclist.txt: Add glibc bug 1423 for md5.h.
16365
16366 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
16367
16368         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
16369         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
16370         needed, since the source code now assumes these .h files.
16371
16372 2005-10-05  Derek Price  <derek@ximbiot.com>
16373
16374         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
16375
16376 2005-10-05  Bruno Haible  <bruno@clisp.org>
16377
16378         * modules/stdint (License): Change to LGPL.
16379
16380 2005-10-04  Simon Josefsson  <jas@extundo.com>
16381
16382         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
16383         D. Baushke" <mdb@gnu.org>.
16384
16385 2005-10-04  Bruno Haible  <bruno@clisp.org>
16386
16387         * lib/verify.h (verify_true): Provide alternative definition for C++.
16388
16389 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
16390
16391         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
16392         (SSIZE_MAX): New macro, if not already defined.
16393         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
16394         than 2 GiB.
16395
16396 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
16397
16398         Sync from coreutils.
16399         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
16400         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
16401         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
16402         ULLONG_MAX doesn't work with 2.7.2.1.
16403
16404 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
16405
16406         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
16407         From Ben Pfaff.
16408
16409         * modules/exclude (Depends-on): Depend on verify.
16410         * modules/strtoimax (Depends-on): Likewise.
16411         * modules/utimecmp (Depends-on): Likewise.
16412
16413 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
16414
16415         * lib/exclude.c: Include verify.h.
16416         (verify): Remove.  All callers changed to use verify.h's version.
16417         * lib/strtoimax.c: Likewise.
16418         * lib/utimecmp.c: Likewis.e
16419
16420         Sync from coreutils.
16421         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
16422         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
16423         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
16424         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
16425         bother returning ENOSYS if settimeofday or stime fails; just let
16426         them return whatever errno they want to return.
16427         * lib/utimens.c: Include unistd.h, for dup2.
16428         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
16429         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
16430
16431 2005-10-02  Jim Meyering  <jim@meyering.net>
16432
16433         Sync from coreutils.
16434         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
16435         from glibc-2.2.5 that fails for read-only files.
16436
16437 2005-10-02  Jim Meyering  <jim@meyering.net>
16438
16439         Sync from coreutils.
16440         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
16441         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
16442         `#if HAVE_CONFIG_H'.
16443         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
16444         Remove AT_FDCWD test.
16445         Do not consume the fd unless successful.
16446         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
16447         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
16448         block, so that we don't even try to compile it if settimeofday is
16449         available.  This works around a compilation failure on OSF1 V5.1,
16450         due to stime requiring a `long int*' while tv_sec is `int'.
16451
16452 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
16453
16454         Sync from coreutils.
16455         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
16456         against `yes', rather than just testing for nonempty.
16457
16458 2005-10-01  Simon Josefsson  <jas@extundo.com>
16459
16460         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
16461         and Darwin.
16462
16463         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
16464         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
16465         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
16466         freeaddrinfo and gai_strerror are declared by the POSIX headers.
16467         Check if struct addrinfo is declared.
16468
16469 2005-10-01  Simon Josefsson  <jas@extundo.com>
16470
16471         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
16472         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
16473         AI_* and EAI_* definitions.  Protect function declarations.
16474
16475 2005-10-01  Jim Meyering  <jim@meyering.net>
16476
16477         Sync from coreutils.
16478
16479         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
16480         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
16481         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
16482         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
16483         in the inet and nsl libraries.  Required on Solaris 5.7.
16484
16485 2005-10-01  Jim Meyering  <jim@meyering.net>
16486
16487         Sync from coreutils.
16488         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
16489         in the inet and nsl libraries.  Required on Solaris 5.7.
16490
16491 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
16492
16493         * lib/getdelim.c (getdelim): Remove unused variables.
16494
16495 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
16496
16497         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
16498         so that the code works even with ancient cpp.  Portability problem
16499         with GCC 2.7.2.1 reported by Thomas M.Ott.
16500
16501 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
16502
16503         * modules/regex (Depends-on): Add strcase.
16504
16505         * modules/gethostname (Licence): Change from GPL to LGPL, since
16506         gethostname.c is a trivial implementation of a standard library
16507         function.
16508         * modules/poll (License): Change from GPL to LGPL, since it's
16509         derived from LGPL code.
16510
16511 2005-09-27  Jim Meyering  <jim@meyering.net>
16512
16513         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
16514         HAVE_CONFIG_H.
16515
16516         * lib/intprops.h (signed_type_or_expr__): Define.
16517         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
16518         for unsigned types.
16519
16520 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
16521
16522         * lib/verify.h (verify_expr): Remove, replacing with:
16523         (verify_true): New macro that returns true instead of void.
16524         (verify_type__): Remove.
16525         (verify): Use verify_true rather than verify_type__.
16526
16527 2005-09-26  Bruno Haible  <bruno@clisp.org>
16528
16529         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
16530         is necessary.
16531         (lib_SOURCES): Remove mbchar.c.
16532         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
16533         (Files): Add m4/mbrtowc.m4.
16534         * modules/mbiter: Likewise.
16535         * modules/mbuiter: Likewise.
16536
16537 2005-09-26  Bruno Haible  <bruno@clisp.org>
16538
16539         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
16540         compile mbchar.c if they are not both present.
16541         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
16542         * m4/mbiter.m4 (gl_MBITER): Likewise.
16543         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
16544         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
16545         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
16546
16547 2005-09-25  Jim Meyering  <jim@meyering.net>
16548
16549         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
16550         also uses socklen_t.
16551
16552 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
16553
16554         * lib/utimens.c (ENOSYS): Define if not already defined.
16555         (futimens): Support having a null PATH if the file descriptor
16556         is nonnegative.
16557
16558         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
16559         Remove.
16560         (__attribute): Define to empty unless GCC 3.1 or later.
16561         This works around a core dump on OpenBSD 3.4, which has GCC
16562         2.95.3, which dumps core when given __attribute__(()).  It also
16563         simplifies other tests, since we really don't want to bother with
16564         worrying about which ancient version of GCC supported what.
16565         Original problem reported by Yoann Vandoorselaere, with part of
16566         the fix suggested by Derek Price.
16567
16568 2005-09-24  Jim Meyering  <jim@meyering.net>
16569
16570         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
16571         so we can once again use a positive bitfield width of 1 -- now we
16572         don't have to explain why we were using a bitfield width of 2.
16573
16574 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
16575
16576         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
16577         and similarly for the other external symbols.  Problem reported
16578         by James Gallager.
16579
16580         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
16581         bug reported by Jim Meyering.
16582
16583         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
16584         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
16585         not needed, since socklen is a prerequisite module.
16586
16587 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
16588
16589         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
16590         Problem reported by Eric Blake.
16591         (getaddrinfo): Initialize se so that it's not garbage.
16592         Redo internal storage allocation so that it doesn't make unportable
16593         assumptions about alignment.
16594         Fix a memory leak.
16595
16596         * lib/utimens.c (futimens): Use futimesat if available.
16597         Prefer it to futimes since it doesn't have the futimes bug.
16598
16599         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
16600         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
16601         Instead, declare a function that returns a pointer to an array,
16602         and use verify_type__ to declare the size of the array.
16603         Problem and germ of a solution reported by Bruno Haible.
16604         (verify_type__): Use 2, not 1, for bitfield size, to avoid
16605         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
16606
16607 2005-09-23  Jim Meyering  <jim@meyering.net>
16608
16609         Sync from coreutils.
16610         Correct build failure (socklen_t not defined) on at least
16611         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
16612         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
16613
16614 2005-09-23  Jim Meyering  <jim@meyering.net>
16615
16616         * modules/getaddrinfo (Depends-on): Add socklen.
16617
16618 2005-09-23  Bruno Haible  <bruno@clisp.org>
16619
16620         * tests/test-verify.c: New file.
16621
16622 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
16623
16624         Sync from coreutils.
16625
16626         * modules/argmatch (Depends-on): Add verify.
16627         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
16628         unistd-safer.
16629         * modules/save-cwd (Depends-on): Likewise.
16630
16631         * modules/openat (Files): Add lib/openat-die.c.
16632         (Depends-on): Remove error, exitfail.
16633         Add dirname.
16634
16635         * modules/verify: New file.
16636         * MODULES.html.sh (Diagnostics <assert.h>): New section,
16637         with "verify" module.
16638
16639 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
16640
16641         Sync from coreutils.
16642
16643         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
16644         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
16645         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
16646         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
16647         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
16648         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
16649         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
16650         Don't bother checking for string.h, stdlib.h, unistd.h.
16651         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
16652         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
16653         module's job.
16654         * m4/jm-macros.m4 (gl_MACROS): Likewise.
16655         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
16656
16657         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
16658         (gl_GETDATE): Use it.
16659
16660         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
16661
16662 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
16663
16664         Sync from coreutils.
16665
16666         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
16667         stat-time.h.
16668         * lib/argmatch.h: Include verify.h
16669         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
16670         (ARGMATCH_ASSERT): Remove; unused.
16671         * lib/canonicalize.c: Assume STDC_HEADERS.
16672         * lib/exclude.c: Include "strcase.h".
16673         * lib/regex_internal.h [!defined _LIBC]: Likewise.
16674         * lib/getusershell.c: Include stdio--.h rather than stdio.h
16675         and stdio-safer.h.
16676         (getusershell): Call fopen, not fopen_safer.
16677         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
16678         Do not include unistd-safer.h.
16679         (save_cwd): Don't call fd_safer; no longer needed
16680         now that we include fcntl--.h.
16681
16682         * lib/getdate.y (relative_time): New type.
16683         (RELATIVE_TIME_0): New constant.
16684         (parser_control): Use relative_time instead of doing it ourselves.
16685         (%union): Add new relative_time rel member.
16686         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
16687         Now typeless.
16688         (relunit, relunit_snumber): Now of type rel.
16689         (zone, rel, relunit, get_date): Adjust to above changes.
16690
16691         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
16692         Do not include unistd-safer.h.
16693         (getloadavg): Don't call fd_safer; no longer needed
16694         now that we include fcntl--.h.
16695
16696         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
16697         (make_dir_parents): Treat ENOSYS like EEXIST.
16698
16699         Improve quality of diagnostics on restore_cwd failure.
16700         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
16701         (make_dir_parents): Last arg is now int * (for errno), not bool *.
16702         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
16703         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
16704         each time through the loop.  Do not diagnose restore_cwd failure;
16705         that is the caller's job (and perhaps the caller does not care).
16706
16707         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
16708         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
16709         If the file already exists but is not a directory, don't bother
16710         to try to make its parents.
16711         Close potential file descriptor leak if we can't chdir("/") (!).
16712         Don't always return true if chdir($PWD) fails; return true only
16713         if the requested action was done successfully (except for the
16714         chdir($PWD)).
16715         Don't log final directory unless we actually made it.
16716         Refactor to avoid duplicate code to fix up permissions.
16717         Don't attempt to fix up parent permissions if chdir($PWD) fails.
16718
16719         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
16720         to make it a bit faster and (I hope) clearer.
16721         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
16722         Fix bug in formats like %2N.
16723
16724         * lib/verify.h: New file.
16725
16726 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
16727
16728         Sync from coreutils.
16729         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
16730
16731 2005-09-22  Jim Meyering  <jim@meyering.net>
16732
16733         Sync from coreutils.
16734
16735         * m4/lstat.m4 (gl_FUNC_LSTAT):
16736         Use AC_LIBSOURCES to require lstat.c and lstat.h.
16737         Remove obsolete comment.
16738         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
16739         * m4/xstrtod.m4: Likewise.
16740
16741         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
16742
16743 2005-09-22  Jim Meyering  <jim@meyering.net>
16744
16745         Sync from coreutils.
16746
16747         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
16748
16749         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
16750         the .tm_year member, since otherwise gcc-4.0 would now warn about
16751         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
16752
16753         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
16754         order to avoid an unsuppressible warning from gcc on 64-bit systems.
16755
16756         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
16757         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
16758         when run in a time zone for which daylight savings time is in effect
16759         for the starting date.
16760
16761         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
16762         stop us from restricting permissions of just-created absolute-named
16763         directories.
16764         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
16765         to restore initial working directory.
16766         * lib/mkdir-p.c (make_dir_parents): New parameter:
16767         different_working_dir, to tell caller if/when we change the working
16768         directory and are unable to return to the initial one.
16769         * lib/mkdir-p.h (make_dir_parents): Update prototype.
16770         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
16771         `return false'.  This fixes a bug introduced on 2004-07-30.
16772
16773         * lib/openat.c (fdopendir): Be sure to close the supplied
16774         file descriptor before returning.  This makes our replacement
16775         implementation a little closer to Solaris's, where fdopendir
16776         ties the file descriptor to the returned DIR* pointer.
16777         * lib/openat.c (unlinkat): New function.
16778         * lib/openat.h (unlinkat): Add prototype.
16779         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
16780         (openat_restore_fail): Rename from openat_restore_die.
16781         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
16782
16783         Provide an alternative to exiting immediately upon save_cwd or
16784         restore_cwd failure.  Now, an application can arrange e.g.,
16785         to perform a longjump in that case.
16786         * lib/openat.c: Include dirname.h.
16787         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
16788         (rpl_openat, fdopendir, fstatat): Call openat_save_die
16789         and openat_restore_die rather than calling error directly.
16790         Don't include "error.h" or "exitfail.h"; they're no longer needed.
16791
16792         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
16793         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
16794         define.
16795
16796         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
16797         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
16798                             int utc, int nanoseconds);
16799         Background:
16800         date should not have to allocate a megabyte of virtual memory to
16801         handle a format argument like +%1048575T.  When implemented with
16802         strftime, it must allocate such a buffer, use strftime to fill it
16803         in, print it, then free it.
16804         With fprintftime, it simply prints everything and exits.
16805         With no need for memory allocation, that's one fewer way to fail.
16806         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
16807         optional field width, not before, so we accept %9:z, not %:9z.
16808         (my_strftime): Be sure to use L_('x') for literals.
16809
16810         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
16811         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
16812         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
16813         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
16814         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
16815         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
16816         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
16817         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
16818         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
16819         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
16820         * lib/xgethostname.c, lib/xreadlink.c:
16821         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
16822
16823         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
16824         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
16825         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
16826         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
16827         and don't include <sys/file.h>).
16828
16829 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
16830
16831         Sync from coreutils.
16832
16833         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
16834         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
16835         [!LDAV_DONE]: Avoid unused variable warning.
16836
16837 2005-09-21  Bruno Haible  <bruno@clisp.org>
16838
16839         * lib/unicodeio.h (unicode_to_mb): New declaration.
16840
16841 2005-09-20  Derek Price  <derek@ximbiot.com>
16842
16843         * lib/getaddrinfo.c: Don't include <netdb.h> included from
16844         getaddrinfo.h.
16845
16846 2005-09-20  Bruno Haible  <bruno@clisp.org>
16847
16848         * gnulib-tool: Remove trailing slashes from the values specified for
16849         --source-base, --m4-base, --tests-base, --aux-dir.
16850         Suggested by Simon Josefsson <jas@extundo.com>.
16851
16852 2005-09-20  Bruno Haible  <bruno@clisp.org>
16853
16854         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
16855         func_modules_to_filelist, func_import, func_create_testdir): Make all
16856         sorting results locale-independent, so that gnulib-cache.m4 doesn't
16857         change when gnulib-tool is invoked in a different locale.
16858
16859 2005-09-19  Simon Josefsson  <jas@extundo.com>
16860
16861         * m4/socklen.m4: Fix typo.
16862
16863 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16864
16865         Use a consistent style for including <config.h>.
16866         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
16867         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
16868         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
16869         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
16870         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
16871         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
16872         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
16873         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
16874         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
16875         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
16876         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
16877         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
16878         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
16879         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
16880         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
16881         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
16882         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
16883         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
16884         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
16885         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
16886         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
16887         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
16888         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
16889         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
16890         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
16891         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
16892         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
16893         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
16894         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
16895         lib/xstrtoumax.c, lib/yesno.c:
16896         Standardize inclusion of config.h.
16897         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
16898         lib/inttostr.h:  Removed inclusion of config.h from header files.
16899         * lib/inttostr.c:  Adjusted in-tree users.
16900         * lib/timespec.h: Remove superfluous warning to include config.h.
16901         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
16902         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
16903         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
16904         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
16905         config.h with HAVE_CONFIG_H.
16906
16907 2005-09-19  Jim Meyering  <jim@meyering.net>
16908
16909         * modules/pathmax (License): Change to LGPL.
16910
16911 2005-09-19  Derek Price  <derek@ximbiot.com>
16912
16913         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
16914
16915 2005-09-19  Bruno Haible  <bruno@clisp.org>
16916
16917         * gnulib-tool (import): Provide default for --tests-base.
16918
16919 2005-09-19  Bruno Haible  <bruno@clisp.org>
16920
16921         * doc/quote.texi: New file, extracted from gnulib.texi.
16922         * doc/ctime.texi: New file, extracted from gnulib.texi.
16923         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
16924         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
16925         * doc/gnulib.texi: Include them.
16926
16927 2005-09-18  Bruno Haible  <bruno@clisp.org>
16928
16929         Portability fix.
16930         * gnulib-tool (func_readlink): New function.
16931         (func_ln_if_changed): Use it.
16932
16933 2005-09-18  Bruno Haible  <bruno@clisp.org>
16934
16935         * gnulib-tool: Support --with-tests also with --import.
16936         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
16937         (func_import): Use variables $testsbase and $inctests. Emit a
16938         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
16939         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
16940         SUBDIRS += $testsdir.
16941         (func_create_testdir): Update.
16942
16943 2005-09-18  Bruno Haible  <bruno@clisp.org>
16944
16945         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
16946         instead of $dry_run.
16947         (func_cp_if_changed, func_mv_if_changed): Remove functions.
16948         (func_ln_if_changed): Don't handle dry-run here.
16949         (func_import): In dry-run mode, detect more precisely which actions
16950         would be performed, and don't use "...ing" verbs.
16951
16952 2005-09-18  Bruno Haible  <bruno@clisp.org>
16953
16954         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
16955         (func_import): Use join on two temporary files instead of three nested
16956         loops, in order to determine which files are new or old.
16957
16958 2005-09-18  Bruno Haible  <bruno@clisp.org>
16959
16960         * gnulib-tool (func_import): Comment out code that spits out the
16961         new files with --dry-run.
16962
16963 2005-09-18  Bruno Haible  <bruno@clisp.org>
16964
16965         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
16966
16967 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
16968
16969         * lib/stat-time.h: New file.
16970         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
16971         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
16972         in a different way.
16973         (timespec_cmp): New function.
16974         * lib/utimecmp.c: Include stat-time.h.
16975         (SYSCALL_RESOLUTION): Depend on whether various struct stat
16976         members exist, not on the obsolescent ST_MTIM_NSEC.
16977         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
16978
16979 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
16980
16981         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
16982
16983 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
16984
16985         * MODULES.html.sh (File system functions): Add stat-time.
16986         * modules/stat-time: New file.
16987         * modules/timespec (Files): Remove m4/st_mtim.m4; this
16988         is now done in a different way, by the stat-time module.
16989         * modules/utimecmp (Depends-on): Add stat-time.
16990
16991 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
16992
16993         * m4/st_mtim.m4: Remove.  Superseded by...
16994         * m4/stat-time.m4: New file.
16995         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
16996         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
16997
16998 2005-09-15  Derek Price  <derek@ximbiot.com>
16999
17000         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
17001
17002 2005-09-15  Derek Price  <derek@ximbiot.com>
17003
17004         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
17005         * lib/regex_internal.c: Ditto, using this...
17006         (__GNUC_PREREQ): ...new macro.
17007         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
17008         using...
17009         (__GNUC_PREREQ): ...this new macro.
17010
17011         * lib/strstr.h: Include string.h. Define strstr as a macro here.
17012
17013 2005-09-15  Derek Price  <derek@ximbiot.com>
17014             Paul Eggert  <eggert@cs.ucla.edu>
17015
17016         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
17017         changes, consolidating in...
17018         * lib/regex_internal.h: ...this file.
17019
17020 2005-09-13  Jim Meyering  <jim@meyering.net>
17021
17022         * lib/canon-host.c: Filter through gnu indent and reword comments
17023         slightly.
17024         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
17025
17026 2005-09-13  Derek Price  <derek@ximbiot.com>
17027
17028         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
17029         failure.
17030         Reported by Jim Meyering  <jim@meyering.net>.
17031
17032 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
17033
17034         * lib/base64.c: Typo.
17035         (base64_encode): Put b64str in initialized data section.
17036
17037 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
17038
17039         Merge glibc and coreutils changes into gnulib, plus a few
17040         extra fixes.
17041         * lib/md5.c: Use #error rather than a string.
17042         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
17043         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
17044         (__attribute__): Define to empty for non recent-GCC.
17045         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
17046         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
17047         Renamed from their non-__ counterparts, with new macros replacing
17048         them if not _LIBC.  Add __THROW attribute.
17049         (rol): Remove.
17050         (struct md5_ctx): Align buffer if using GCC.
17051         * lib/sha1.h (struct sha1_ctx): Likewise.
17052         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
17053         The old name was backwards.
17054         (NOTSWAP): Remove; not used.
17055         (rol): New macro, moved here from md5.h.
17056         (sha1_process_block): Remove a FIXME that doesn't make sense.
17057
17058 2005-09-12  Derek Price  <derek@ximbiot.com>
17059
17060         Return usable errors from canon-host.
17061         * lib/canon-host.h: New file.
17062         * lib/canon-host.c (canon_host): Wrap...
17063         (canon_host_r): ...this new function, which now relies exclusively on
17064         getaddrinfo.
17065         (ch_strerror): New function.
17066         (last_cherror): New global.
17067         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
17068         interface.
17069         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
17070         void *.
17071         (freeaddrinfo): Free ai->ai_canonname when set.
17072
17073 2005-09-12  Derek Price  <derek@ximbiot.com>
17074
17075         Make canon-host require getaddrinfo.
17076         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
17077         AC_LIBSOURCE canon-host.h.  Call...
17078         (gl_PREREQ_CANON_HOST): ...this new function, which requires
17079         gl_GETADDRINFO.
17080         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
17081
17082 2005-09-12  Derek Price  <derek@ximbiot.com>
17083
17084         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
17085         LGPL.
17086         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
17087
17088 2005-09-12  Derek Price  <derek@ximbiot.com>
17089
17090         * lib/gai_strerror.c: Include config.h when available.  Include
17091         getaddrinfo.h before other headers to test interface.
17092         Reported by Larry Jones <lawrence.jones@ugs.com>.
17093
17094 2005-09-12  Derek Price  <derek@ximbiot.com>
17095             Paul Eggert  <eggert@cs.ucla.edu>
17096
17097         * modules/glob (Files): Add glob-libc.h.
17098
17099 2005-09-12  Derek Price  <derek@ximbiot.com>
17100             Paul Eggert  <eggert@cs.ucla.edu>
17101
17102         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
17103         glob_.h, glob-libc.h.
17104         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
17105
17106 2005-09-12  Derek Price  <derek@ximbiot.com>
17107             Paul Eggert  <eggert@cs.ucla.edu>
17108
17109         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
17110         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
17111         protecting things that should be done only in gnulib contexts.
17112         * lib/glob_.h: New file, containing only the glob things needed for
17113         gnulib.
17114         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
17115         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
17116         (glob, globfree, glob_pattern_p): Now defined simply in terms of
17117         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
17118         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
17119         and to respect the namespace rules better.
17120
17121 2005-09-08  Simon Josefsson  <jas@extundo.com>
17122
17123         * modules/socklen: New file.
17124
17125 2005-09-08  Simon Josefsson  <jas@extundo.com>
17126
17127         * m4/socklen.m4: New file.
17128
17129 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
17130
17131         * modules/utimens (Files): Add m4/utimbuf.m4, since
17132         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
17133         Reported by Sergey Poznyakoff.
17134
17135 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
17136
17137         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
17138         definitions, since that's the preferred style in glibc.
17139         Fix a minor spacing issue, and update copyright notice to match
17140         glibc's.
17141
17142 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
17143
17144         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
17145
17146 2005-09-06  Simon Josefsson  <jas@extundo.com>
17147
17148         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
17149         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
17150
17151 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
17152
17153         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
17154         warning.
17155
17156 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
17157
17158         * config/srclist.txt: Add glibc bug 1302.
17159
17160 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
17161
17162         Change bitset word type from unsigned int to unsigned long int,
17163         as this has better performance on typical 64-bit hosts.
17164         Port bitset code to hosts with unusual word sizes.
17165         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
17166         (build_collating_symbol):
17167         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
17168         argument is a bitset.  This is merely a style issue, but it makes
17169         it clearer that an entire array is expected.
17170         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
17171         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
17172         Port to the case where bitset_word is not the same as unsigned int.
17173         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
17174         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
17175         Likewise.
17176         * lib/regexec.c (check_dst_limits_calc_pos_1,
17177         check_subexp_matching_top):
17178         (build_trtable, group_nodes_into_DFAstates):
17179         Likewise.
17180         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
17181         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
17182         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
17183         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
17184         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
17185         * lib/regcomp.c (optimize_subexps, lower_subexp):
17186         Work even if bitset_word has holes in its bitwise representation.
17187         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
17188         * lib/regexec.c (check_dst_limits_calc_pos_1,
17189         check_subexp_matching_top):
17190         Likewise.
17191         * lib/regex_internal.c (re_string_reconstruct):
17192         Don't assume UCHAR_MAX == 255.
17193         * lib/regex_internal.h (bitset_set_all): Likewise.
17194         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
17195         All uses changed.
17196         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
17197         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
17198         All uses changed.
17199         (BITSET_WORD_MAX): New macro.
17200         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
17201         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
17202         (bitset_empty, bitset_copy):
17203         Prefer sizeof (bitset) to multiplying it out ourselves.
17204         (bitset_not_merge): Remove; unused.
17205         (bitset_contain): Return bool, not unsigned int with one bit on.
17206         All callers changed.
17207         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
17208         alignment than re_node_set; do this by defining a new internal
17209         type struct dests_alloc and using it to allocate memory.
17210
17211 2005-09-05  Bruno Haible  <bruno@clisp.org>
17212
17213         * gnulib-tool (func_import): Fix comparison in handling of symbolic
17214         links.
17215
17216 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
17217
17218         * modules/size_max (Makefile.am): Add size_max.h
17219
17220 2005-09-04  Derek Price  <derek@ximbiot.com>
17221
17222         * gnulib-tool (func_import): Fix reversed $symbolic logic.
17223
17224 2005-09-03  Simon Josefsson  <jas@extundo.com>
17225
17226         * gnulib-tool: Fix typo.
17227
17228 2005-09-03  Simon Josefsson  <jas@extundo.com>
17229
17230         * config/srclist.txt: Add glibc bug 1293.
17231
17232 2005-09-03  Derek Price  <derek@ximbiot.com>
17233
17234         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
17235         From Larry Jones <lawrence.jones@ugs.com>.
17236
17237 2005-09-02  Simon Josefsson  <jas@extundo.com>
17238
17239         * modules/socklen: New file.
17240
17241 2005-09-02  Simon Josefsson  <jas@extundo.com>
17242
17243         * modules/havelib: New module.
17244
17245         * modules/gettext, modules/iconv, modules/lock, modules/readline:
17246         Use havelib.
17247
17248 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
17249
17250         Check for arithmetic overflow when calculating sizes, to prevent
17251         some buffer-overflow issues.  These patches are conservative, in the
17252         sense that when I couldn't determine whether an overflow was possible,
17253         I inserted a run-time check.
17254         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
17255         macros.
17256         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
17257         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
17258         (re_xnrealloc, re_x2nrealloc): New inline functions.
17259         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
17260         parse_bracket_exp):
17261         (build_equiv_class, build_charclass): Check for arithmetic overflow
17262         in size expression calculations.
17263         * lib/regex_internal.c (re_string_realloc_buffers):
17264         (build_wcs_upper_buffer, re_node_set_add_intersect):
17265         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
17266         (re_dfa_add_node, register_state): Likewise.
17267         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
17268         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
17269         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
17270         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
17271
17272 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
17273
17274         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
17275         m4/ulonglong.m4.  Problem reported by Martin Lambers.
17276
17277 2005-09-02  Bruno Haible  <bruno@clisp.org>
17278
17279         Support for lib vs. lib64 distinction on biarch platforms.
17280         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
17281         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
17282         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
17283
17284 2005-09-02  Bruno Haible  <bruno@clisp.org>
17285
17286         * gnulib-tool (import): In the other first-use case, provide defaults
17287         as well.
17288
17289 2005-09-02  Bruno Haible  <bruno@clisp.org>
17290
17291         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
17292         patches not yet found in the latest gettext release.
17293
17294 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
17295
17296         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
17297         to avoid a collision with bits/local_lim.h in glibc.
17298         All uses changed.  Problem reported by Dmitry V. Levin in
17299         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
17300
17301         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
17302         bugs in int versus size_t comparisons.
17303         (re_string_context_at): Fix bug where the code assumed that
17304         Idx is signed.
17305
17306         Use bool where appropriate.
17307         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
17308         All callers changed.
17309         (calc_eclosure_iter): Likewise, for ROOT arg.
17310         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
17311         (build_charclass_op): Likewise, for NON_MATCH arg.
17312         * lib/regex_internal.c (re_string_allocate, re_string_construct):
17313         (re_string_construct_common): Likewise, for ICASE arg.
17314         * lib/regexec.c (re_search_2_stub, re_search_stub):
17315         Likewise, for RET_LEN arg.
17316         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
17317         (set_regs): Likewise, for FL_BACKTRACK arg.
17318         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
17319         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
17320         (calc_eclosure_iter, parse_bracket_exp):
17321         Use bool for internal variables that are booleans.
17322         * lib/regexec.c (re_search_internal, check_matching,
17323         proceed_next_node):
17324         (set_regs, build_sifted_states, sift_states_bkref):
17325         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
17326         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
17327         (find_collation_sequence_value):
17328         Likewise.
17329         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
17330         (re_node_set_compare):
17331         Return bool, not int. All callers changed.
17332         * lib/regexec.c (check_halt_node_context, check_dst_limits):
17333         (build_trtable, check_node_accept): Likewise.
17334         * lib/regex_internal.h: Include stdbool.h.
17335
17336         Fix bugs uncovered when converting to bool.
17337         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
17338         failure instead of charging ahead blindly.
17339         * lib/regex_internal.c (register_state): Likewise.
17340         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
17341         for freeing internal storage.
17342         (group_nodes_into_DFA_states): Use unsigned int, not int, for
17343         bitset pieces used as boolean, to avoid undefined behavior
17344         on hosts that do int overflow checking.
17345
17346 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
17347
17348         * config/srclist.txt: Add glibc bugs 1285-1287.
17349
17350 2005-09-01  Jim Meyering  <jim@meyering.net>
17351
17352         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
17353         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
17354         Require gl_STAT_MACROS, too.
17355
17356 2005-09-01  Bruno Haible  <bruno@clisp.org>
17357
17358         * gnulib-tool (import): In the first-use case, provide defaults.
17359
17360 2005-09-01  Bruno Haible  <bruno@clisp.org>
17361
17362         * gnulib-tool (func_import): Remove the .tmp files.
17363
17364 2005-09-01  Bruno Haible  <bruno@clisp.org>
17365
17366         * gnulib-tool (func_import): Fix handling of symbolic links.
17367
17368 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
17369
17370         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
17371         old glibc regex code mishandles strings longer than 2**31 bytes.
17372         This patch fixes this when the regex code is used in gnulib
17373         (i.e., outside glibc).
17374
17375         This patch should not affect the use of the regex code inside
17376         glibc.  No doubt this problem also needs to be handled for glibc
17377         as well, but the result will be an incompatible change to the
17378         glibc ABI, and the old ABI will have to be supported too.  That
17379         can be the the subject for another patch.
17380
17381         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
17382         governing whether the rest of this patch is active.  By default,
17383         the macro is disabled and the patch has no effect.
17384         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
17385         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
17386         (struct re_pattern_buffer, re_search, re_search_2, re_match):
17387         (re_match_2, re_set_registers): Use the new types.
17388         * lib/regex_internal.h (Idx, re_hashval_t): New types.
17389         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
17390         New macros.
17391         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
17392         (re_string_context_at, bin_tree_t, re_dfastate_t):
17393         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
17394         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
17395         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
17396         (re_string_char_size_at, re_string_wchar_at):
17397         (re_string_elem_size_at):
17398         Use the new types and macros to port to 64-bit hosts.
17399         Use unsigned types for internal values, so that the code
17400         mostly works even for arrays larger than SSIZE_MAX.
17401         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
17402         (search_duplicated_node, calc_eclosure_iter, fetch_number):
17403         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
17404         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
17405         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
17406         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
17407         (calc_inveclosure, parse_dup_op, build_range_exp):
17408         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
17409         (fetch_number, create_token_tree, mark_opt_subexp):
17410         Likewise.
17411         * lib/regex_internal.c (re_string_construct_common,
17412         create_ci_newstate):
17413         (create_cd_newstate, re_string_allocate, re_string_construct):
17414         (re_string_realloc_buffers, build_wcs_upper_buffer):
17415         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
17416         (re_string_reconstruct, re_string_peek_byte_case):
17417         (re_string_fetch_byte_case, re_string_context_at):
17418         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
17419         (re_node_set_init_copy, re_node_set_add_intersect):
17420         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
17421         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
17422         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
17423         (re_acquire_state, re_acquire_state_context, register_state):
17424         Likewise.
17425         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
17426         search_cur_bkref_entry):
17427         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
17428         (re_search_internal, re_search_2_stub, re_search_stub)
17429         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
17430         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
17431         (update_cur_sifted_state, check_dst_limits):
17432         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
17433         (check_subexp_limits, sift_states_bkref, merge_state_array):
17434         (check_subexp_matching_top, get_subexp, get_subexp_sub):
17435         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
17436         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
17437         (expand_bkref_cache, check_node_accept_bytes):
17438         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
17439         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
17440         (acquire_init_state_context, check_halt_node_context):
17441         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
17442         (sift_states_backward, clean_state_log_if_needed):
17443         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
17444         (find_recover_state, transit_state_sb, transit_state_mb):
17445         (transit_state_bkref, build_trtable, match_ctx_clean):
17446         Likewise.
17447         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
17448         to work around an assumption that REG_MISSING is negative.
17449
17450         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
17451         (seek_collating_symbol_entry) [defined _LIBC]:
17452         (lookup_collation_sequence_value) [defined _LIBC]:
17453         (build_range_exp, build_collating_symbol) [defined _LIBC]:
17454         Use prototypes rather than old-style function definitions.
17455         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
17456         (transit_state_sb) [0]:
17457         (find_collation_sequence_value) [defined _LIBC]: Likewise.
17458
17459         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
17460         rm_eo.
17461
17462         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
17463         (optimize_subexps, lower_subexp):
17464         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
17465         since the signed shift might overflow.  Use 1u<<31 instead.
17466         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
17467         Likewise.
17468         * lib/regexec.c (check_dst_limits_calc_pos_1,
17469         check_subexp_matching_top): Likewise.
17470
17471         * lib/regcomp.c (optimize_subexps, lower_subexp):
17472         Use CHAR_BIT rather than 8, for clarity.
17473         * lib/regexec.c (check_dst_limits_calc_pos_1):
17474         (check_subexp_matching_top): Likewise.
17475         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
17476         have to worry about portability issues when shifting it left.
17477         Remove no-longer-needed test for table_size > 0.
17478         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
17479         in a word, as the resulting behavior is undefined.
17480         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
17481         in one case, a <= should have been an <, and in another case the
17482         whole test was missing.
17483         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
17484         the standard name CHAR_BIT.
17485         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
17486         this is not true on one's complement and signed-magnitude hosts.
17487
17488         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
17489         next_last_offset.
17490         (struct re_dfa_t): Remove unused member states_alloc.
17491         * lib/regcomp.c (init_dfa): Don't initialize unused members.
17492
17493 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
17494
17495         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
17496         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
17497         and large-file glibc and in 32-bit large-file Solaris.
17498
17499 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
17500
17501         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
17502         lengths fit in regoff_t; this isn't true if regoff_t is the same
17503         width as size_t.
17504         * lib/regex.c (re_search_internal): 5th arg is LAST_START
17505         (= START + RANGE) instead of RANGE.  This avoids overflow
17506         problems when regoff_t is the same width as size_t.
17507         All callers changed.
17508         (re_search_2_stub): Check for overflow when adding the
17509         sizes of the two strings.
17510         (re_search_stub): Check for overflow when adding START
17511         to RANGE; if it occurs, substitute the extreme value.
17512
17513 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
17514
17515         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
17516
17517 2005-08-31  Jim Meyering  <jim@meyering.net>
17518
17519         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
17520         a pointer-to-const.
17521         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
17522         (register_state): Likewise.
17523         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
17524         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
17525         (group_nodes_into_DFAstates): Likewise.
17526
17527 2005-08-31  Jim Meyering  <jim@meyering.net>
17528
17529         * check-module: Add a FIXME comment.
17530
17531 2005-08-31  Eric Blake  <ebb9@byu.net>
17532
17533         * modules/unistd-safer (Files): Add unistd--.h.
17534         * modules/stdio-safer (Files): Add stdio--.h.
17535
17536 2005-08-31  Derek Price  <derek@ximbiot.com>
17537
17538         * lib/getdelim.c (getdelim): Return EOF on EOF.
17539         Reported by Larry Jones <lawrence.jones@ugs.com>.
17540
17541 2005-08-31  Bruno Haible  <bruno@clisp.org>
17542
17543         Avoid unnecessary diffs in the generated lib/Makefile.am.
17544         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
17545         the generated files.
17546         (func_import): Don't set cmd.
17547
17548 2005-08-31  Bruno Haible  <bruno@clisp.org>
17549
17550         * lib/strstr.c: Include <stddef.h>, for NULL.
17551         * lib/strcasestr.c: Likewise.
17552         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
17553
17554 2005-08-31  Bruno Haible  <bruno@clisp.org>
17555
17556         * gnulib-tool: New option --macro-prefix.
17557         (func_import): Use macro_prefix.
17558         (import): Handle option --macro-prefix.
17559
17560 2005-08-31  Bruno Haible  <bruno@clisp.org>
17561
17562         * gnulib-tool (import): Rename most ac_* variables to cached_*.
17563         Also use new variables cached_lgpl, cached_libtool.
17564
17565 2005-08-31  Bruno Haible  <bruno@clisp.org>
17566
17567         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
17568         always instantiating them.
17569
17570 2005-08-31  Bruno Haible  <bruno@clisp.org>
17571
17572         * gnulib-tool (func_import): Read the previous cached settings
17573         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
17574         earlier added by gnulib but are now dropped. Warn when a gnulib file
17575         overwrites a non-gnulib file.
17576
17577 2005-08-31  Bruno Haible  <bruno@clisp.org>
17578
17579         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
17580         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
17581         projects that don't keep autogenerated files in CVS. Put into
17582         actioncmd only the specified modules, not the transitive closure.
17583
17584 2005-08-31  Bruno Haible  <bruno@clisp.org>
17585
17586         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
17587         Create directories that shall be filled.
17588         (import): Don't look for gl_* macros in configure.ac. Recurse across
17589         all directories containing a gnulib-cache.m4 files, if meaningful.
17590
17591 2005-08-31  Bruno Haible  <bruno@clisp.org>
17592
17593         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
17594         (import): Set seen_libtool when we see gl_LIBTOOL.
17595
17596 2005-08-31  Bruno Haible  <bruno@clisp.org>
17597
17598         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
17599         declaration macro definitions from generated gnulib.m4.
17600
17601 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
17602
17603         * lib/iconvme.h: Add prototype for iconv_alloc.
17604
17605 2005-08-29  Simon Josefsson  <jas@extundo.com>
17606
17607         * lib/iconvme.c: Fix errno.
17608
17609 2005-08-29  Bruno Haible  <bruno@clisp.org>
17610
17611         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
17612         that it works when the directory contains spaces.
17613
17614 2005-08-29  Bruno Haible  <bruno@clisp.org>
17615
17616         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
17617
17618 2005-08-29  Bruno Haible  <bruno@clisp.org>
17619
17620         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
17621         Emit more advice.
17622
17623 2005-08-29  Bruno Haible  <bruno@clisp.org>
17624         and Stepan Kasal  <kasal@ucw.cz>
17625
17626         * check-module: If more parameters are given, check each of them
17627         separately; add more exceptions, as noted by Jim Meyering.
17628         (check_module): New procedure.
17629         (%exempt_header): Now contains all exceptions.
17630
17631 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
17632
17633         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
17634
17635 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
17636
17637         * lib/iconvme.c: Split iconv_string into iconv_alloc.
17638
17639 2005-08-28  Bruno Haible  <bruno@clisp.org>
17640
17641         * m4/gnulib-tool.m4: New file.
17642
17643 2005-08-27  Jim Meyering  <jim@meyering.net>
17644
17645         * modules/unistd-safer (Files): Add pipe-safer.c.
17646         * modules/fcntl-safer (Files): Add creat-safer.c.
17647
17648 2005-08-27  Jim Meyering  <jim@meyering.net>
17649
17650         * m4/stdlib-safer.m4: New file.  From coreutils.
17651         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
17652         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
17653         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
17654         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
17655         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
17656
17657 2005-08-27  Jim Meyering  <jim@meyering.net>
17658
17659         * lib/fopen-safer.c: Merge minor changes from coreutils.
17660         * lib/dup-safer.c: Likewise.
17661         * lib/fd-safer.c: Likewise.
17662
17663         Merge from coreutils.
17664         * lib/stdio--.h: New file.
17665         * lib/stdlib--.h: New file.
17666         * lib/mkstemp-safer.c: New file.
17667
17668         GNU tar needs these.
17669         * lib/pipe-safer.c: New file.
17670         * lib/creat-safer.c: New file.
17671         * lib/fcntl--.h (creat): Define to creat_safer.
17672         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
17673         * lib/unistd--.h (pipe): Define to pipe_safer.
17674         * lib/unistd-safer.h: Declare pipe_safer.
17675
17676 2005-08-26  Simon Josefsson  <jas@extundo.com>
17677
17678         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
17679         Haible <bruno@clisp.org>.
17680
17681 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
17682
17683         * lib/regex_internal.h: Remove all references to
17684         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
17685         or better.
17686         (bitset_not, bitset_merge, bitset_not_merge):
17687         (bitset_mask, re_string_allocate, re_string_construct):
17688         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
17689         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
17690         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
17691         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
17692         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
17693         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
17694         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
17695         (re_acquire_state_context):
17696         Remove unnecessary forward decls.
17697         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
17698         Put __attribute at function definition,
17699         now that the function decl has been removed.
17700         * lib/regex_internal.c (re_string_peek_byte_case):
17701         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
17702         Likewise.
17703
17704 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
17705
17706         * m4/regex.m4: Add AC_PREREQ(2.50).
17707         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
17708
17709 2005-08-25  Simon Josefsson  <jas@extundo.com>
17710
17711         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
17712         __fsetlocking.
17713
17714 2005-08-25  Simon Josefsson  <jas@extundo.com>
17715
17716         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
17717         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
17718         GLIBC specific code.
17719
17720 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
17721
17722         Make regex safe for g++.  This fixes one real bug (an "err"
17723         that should have been "*err").  g++ problem reported by
17724         Sam Steingold.
17725         * lib/regex_internal.h (re_calloc): New macro, consistent with
17726         re_malloc etc.  All callers of calloc changed to use re_calloc.
17727         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
17728         not int.  All callers changed.
17729         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
17730         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
17731         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
17732         (find_recover_state): Change "err" to "*err"; this fixes what
17733         appears to be a real bug.
17734         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
17735         versus int.
17736
17737 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
17738
17739         * modules/regex (Depends-on): Add malloc, since the code
17740         assumes that !malloc(0) means failure.
17741
17742 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
17743
17744         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
17745
17746         alloca modernization/simplification for regex.
17747         * lib/regex.c: Remove portability cruft for alloca.  This no longer
17748         needs to be at the start of the file, and can be moved into
17749         regex_internal.h and simplified.
17750         * lib/regex_internal.h: Include <alloca.h>.
17751         (__libc_use_alloca) [!defined _LIBC]: New macro.
17752         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
17753         now works outside glibc.
17754
17755 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
17756
17757         * config/srclist.txt: Add glibc bugs 1241, 1245.
17758
17759 2005-08-25  Jim Meyering  <jim@meyering.net>
17760
17761         * lib/open-safer.c: Include <config.h>.
17762         Otherwise, we'd lose LARGEFILE support in any file using
17763         e.g. "fcntl--.h"
17764
17765 2005-08-25  Bruno Haible  <bruno@clisp.org>
17766
17767         * m4/minmax.m4: Require autoconf 2.52.
17768         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
17769         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
17770         alternatives of translit over the alphabet.
17771         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
17772
17773 2005-08-24  Simon Josefsson  <jas@extundo.com>
17774
17775         * tests/test-getpass.c: New file.
17776
17777 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
17778
17779         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
17780         for GNU regex features.
17781
17782 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
17783
17784         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
17785         * lib/regex.h (regerror): Likewise.
17786
17787         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
17788         requires this.  (The code never needed it.)
17789
17790         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
17791         All uses of recently-renamed identifiers changed to use the new,
17792         POSIX-compliant names.  The code will build and run just fine
17793         without these changes, but it's better to eat our own dog food
17794         and use the standard-conforming names.
17795
17796         * lib/regex.h: Fix a multitude of POSIX name space violations.
17797         These changes have an effect only for programs that define
17798         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
17799         do not change anything for programs compiled in the normal way.
17800         Also, there is no effect on the ABI.
17801
17802         (_REGEX_SOURCE): New macro.
17803         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
17804         defined and _GNU_SOURCE is not; this fixes a name space violation.
17805
17806         Rename the following macros to obey POSIX requirements.
17807         The old names are still visible as macros if _REGEX_SOURCE is defined.
17808         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
17809         RE_BACKSLASH_ESCAPE_IN_LISTS.
17810         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
17811         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
17812         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
17813         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
17814         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
17815         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
17816         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
17817         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
17818         (REG_INTERVALS): renamed from RE_INTERVALS.
17819         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
17820         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
17821         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
17822         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
17823         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
17824         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
17825         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
17826         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
17827         RE_UNMATCHED_RIGHT_PAREN_ORD.
17828         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
17829         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
17830         (REG_DEBUG): renamed from RE_DEBUG.
17831         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
17832         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
17833         unusual, since we can't clash with the POSIX REG_ICASE.
17834         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
17835         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
17836         (REG_NO_SUB): renamed from RE_NO_SUB.
17837         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
17838         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
17839         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
17840         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
17841         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
17842         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
17843         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
17844         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
17845         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
17846         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
17847         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
17848         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
17849         RE_SYNTAX_POSIX_MINIMAL_BASIC.
17850         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
17851         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
17852         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
17853         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
17854         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
17855         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
17856         (REG_FIXED): Renamed from REGS_FIXED.
17857         (REG_NREGS): Renamed from RE_NREGS.
17858
17859         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
17860         of other REG_* macros, since POSIX says the user is allowed to
17861         #undef these macros selectively.
17862
17863         (reg_errcode_t): Update comment stating what other tables need
17864         to be consistent.
17865
17866         Rename the following enum values to obey POSIX requirements.
17867         The old names are still visible as macros.
17868         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
17869         is not defined, since GNU is supposed to be a superset of POSIX as
17870         much as possible, and since we want reg_errcode_t to be a signed
17871         type for implementation consistency.
17872         (_REG_NOERROR): Renamed from REG_NOERROR.
17873         (_REG_NOMATCH): Renamed from REG_NOMATCH.
17874         (_REG_BADPAT): Renamed from REG_BADPAT.
17875         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
17876         (_REG_ECTYPE): Renamed from REG_ECTYPE.
17877         (_REG_EESCAPE): Renamed from REG_EESCAPE.
17878         (_REG_ESUBREG): Renamed from REG_ESUBREG.
17879         (_REG_EBRACK): Renamed from REG_EBRACK.
17880         (_REG_EPAREN): Renamed from REG_EPAREN.
17881         (_REG_EBRACE): Renamed from REG_EBRACE.
17882         (_REG_BADBR): Renamed from REG_BADBR.
17883         (_REG_ERANGE): Renamed from REG_ERANGE.
17884         (_REG_ESPACE): Renamed from REG_ESPACE.
17885         (_REG_BADRPT): Renamed from REG_BADRPT.
17886         (_REG_EEND): Renamed from REG_EEND.
17887         (_REG_ESIZE): Renamed from REG_ESIZE.
17888         (_REG_ERPAREN): Renamed from REG_ERPAREN.
17889         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
17890         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
17891         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
17892         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
17893
17894         (_REG_RE_NAME, _REG_RM_NAME): New macros.
17895         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
17896         changed.  But support the old name if the new one is not defined
17897         and if _REGEX_SOURCE.
17898
17899         Change the following member names in struct re_pattern_buffer.
17900         The old names are still supported if !_REGEX_SOURCE.
17901         The new names are always supported, regardless of _REGEX_SOURCE.
17902         (re_buffer): Renamed from buffer.
17903         (re_allocated): Renamed from allocated.
17904         (re_used): Renamed from used.
17905         (re_syntax): Renamed from syntax.
17906         (re_fastmap): Renamed from fastmap.
17907         (re_translate): Renamed from translate.
17908         (re_can_be_null): Renamed from can_be_null.
17909         (re_regs_allocated): Renamed from regs_allocated.
17910         (re_fastmap_accurate): Renamed from fastmap_accurate.
17911         (re_no_sub): Renamed from no_sub.
17912         (re_not_bol): Renamed from not_bol.
17913         (re_not_eol): Renamed from not_eol.
17914         (re_newline_anchor): Renamed from newline_anchor.
17915
17916         Change the following member names in struct re_registers.
17917         The old names are still supported if !_REGEX_SOURCE.
17918         The new names are always supported, regardless of _REGEX_SOURCE.
17919         (rm_num_regs): Renamed from num_regs.
17920         (rm_start): Renamed from start.
17921         (rm_end): Renamed from end.
17922
17923         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
17924         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
17925         Prepend __ to parameter names.
17926
17927         Undo yesterday's changes.
17928
17929 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
17930
17931         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
17932         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
17933         lib/regex.c.
17934
17935 2005-08-24  Jim Meyering  <jim@meyering.net>
17936
17937         Sync from coreutils.
17938         * m4/fcntl-safer.m4: New file.
17939
17940         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
17941         and object files for this module.
17942
17943 2005-08-24  Jim Meyering  <jim@meyering.net>
17944
17945         Sync from coreutils.
17946         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
17947
17948 2005-08-24  Jim Meyering  <jim@meyering.net>
17949
17950         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
17951         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
17952
17953 2005-08-24  Jim Meyering  <jim@meyering.net>
17954
17955         * modules/fcntl-safer: New module.
17956         * modules/fts (Depends-on): Add fcntl-safer.
17957         * MODULES.html.sh (File descriptor based Input/Output):
17958         Add fcntl-safer.
17959
17960 2005-08-24  Bruno Haible  <bruno@clisp.org>
17961
17962         Support for unit test modules.
17963         * modules/README: Mention tests modules.
17964         * modules/TEMPLATE-TESTS: New file.
17965         * gnulib-tool: New options --extract-tests-module, --with-tests and
17966         --tests-base (unused for the moment).
17967         (testsbase, inctests): New variables.
17968         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
17969         (func_verify_module): Exclude TEMPLATE-TESTS.
17970         (func_verify_nontests_module, func_verify_tests_module): New functions.
17971         (func_get_dependencies): Add implicit dependency for tests modules.
17972         (func_get_tests_module): New function.
17973         (func_modules_transitive_closure): When --with-tests was specified,
17974         include the unit tests as well, unless explicitly avoided.
17975         (func_emit_lib_Makefile_am): Ignore the tests modules here.
17976         (func_emit_tests_Makefile_am): New function.
17977         (func_create_testdir): When --with-tests was specified, emit a
17978         tests/ directory.
17979         * MODULES.html.sh (Future developments): Update.
17980
17981 2005-08-24  Bruno Haible  <bruno@clisp.org>
17982
17983         * modules/tls-tests: New file.
17984         * tests/test-tls.c: New file, from GNU gettext.
17985
17986 2005-08-24  Bruno Haible  <bruno@clisp.org>
17987
17988         * modules/lock-tests: New file.
17989         * tests/test-lock.c: New file, from GNU gettext.
17990
17991 2005-08-24  Bruno Haible  <bruno@clisp.org>
17992
17993         * lib/lock.h: Add multiple inclusion guard.
17994         * lib/tls.h: Add multiple inclusion guard.
17995
17996 2005-08-24  Bruno Haible  <bruno@clisp.org>
17997
17998         * gnulib-tool: Add support for the --aux-dir option to
17999         --create-testdir, --create-megatestdir, --test, --megatest.
18000         (func_create_testdir, func_create_megatestdir): Optionally emit a
18001         AC_CONFIG_AUX_DIR directive.
18002         (create-testdir, create-megatestdir, test, megatest): Provide a
18003         default value for $auxdir.
18004
18005 2005-08-24  Bruno Haible  <bruno@clisp.org>
18006
18007         * gnulib-tool (import): Use compound statement instead of subshell
18008         where possible.
18009
18010 2005-08-24  Bruno Haible  <bruno@clisp.org>
18011
18012         * gnulib-tool (import): Change --aux-dir default to "build-aux".
18013
18014 2005-08-24  Bruno Haible  <bruno@clisp.org>
18015
18016         * gnulib-tool (func_version): Update.
18017
18018 2005-08-24  Bruno Haible  <bruno@clisp.org>
18019
18020         * gnulib-tool (func_import, func_create_testdir,
18021         func_create_megatestdir): Quote all autoconf macro arguments.
18022
18023 2005-08-24  Bruno Haible  <bruno@clisp.org>
18024
18025         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
18026         option --force, because --force causes the aclocal.m4 of each
18027         subdirectory to be newer than the corresponding config.h.in.
18028
18029 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
18030
18031         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
18032         All contents moved to gl_REGEX.
18033         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
18034         assume that it does.
18035
18036 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
18037
18038         * lib/regex.h (REG_NOSYS)
18039         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
18040         Define, since POSIX requires it as of 2001.
18041         (_REG_ENOSYS)
18042         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
18043         New private symbol, used to keep the enum signed in all cases.
18044         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
18045         Youngman in
18046         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
18047
18048         * lib/regex_internal.c (re_string_skip_chars, register_state):
18049         (calc_state_hash):
18050         Remove forward decls; no longer needed now that we use prototypes.
18051         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
18052         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
18053         (clean_state_log_if_needed): Likewise.
18054
18055 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
18056
18057         * config/srclist.txt: Add glibc bugs 1231-1233.
18058
18059 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
18060
18061         Fix problems reported by Sam Steingold in
18062         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
18063         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
18064         assumed that reg_errcode_t is a signed type, which is not
18065         necessarily true if _XOPEN_SOURCE is not defined.
18066         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
18067         since some compilers warn about it otherwise.
18068
18069 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
18070
18071         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
18072         (init_word_char, create_initial_state, duplicate_node_closure):
18073         (fetch_token, peek_token_bracket, build_range_exp):
18074         (build_collating_symbol): Remove forward decls; no longer needed
18075         now that we use prototypes.
18076
18077         * lib/regcomp.c:
18078         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
18079         (re_compile_fastmap_iter, regcomp, regerror, regfree):
18080         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
18081         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
18082         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
18083         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
18084         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
18085         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
18086         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
18087         (build_range_exp, build_collating_symbol, parse_bracket_exp):
18088         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
18089         (build_charclass, build_charclass_op, fetch_number, create_tree):
18090         (create_token_tree, mark_opt_subexp, duplicate_tree):
18091         Use prototypes rather than old-style definitions.
18092
18093         * lib/regex_internal.c:
18094         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
18095         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
18096         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
18097         (re_string_reconstruct, re_string_peek_byte_case):
18098         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
18099         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
18100         (re_node_set_init_copy, re_node_set_add_intersect):
18101         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
18102         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
18103         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
18104         (re_acquire_state, re_acquire_state_context, register_state):
18105         (create_ci_newstate, create_cd_newstate, free_state):
18106         Likewise.
18107         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
18108         re_search_2):
18109         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
18110         (re_search_internal, prune_impossible_nodes):
18111         (acquire_init_state_context, check_matching, static):
18112         (check_halt_node_context, check_halt_state_context, proceed_next_node):
18113         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
18114         (update_regs, sift_states_backward, build_sifted_states):
18115         (clean_state_log_if_needed, merge_state_array):
18116         (update_cur_sifted_state, add_epsilon_src_nodes):
18117         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
18118         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
18119         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
18120         (find_recover_state, check_subexp_matching_top, transit_state_mb):
18121         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
18122         (check_arrival, check_arrival_add_next_nodes):
18123         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
18124         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
18125         (check_node_accept_bytes, check_node_accept, extend_buffers):
18126         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
18127         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
18128         (sift_ctx_init):
18129         Likewise.
18130
18131         * lib/regex_internal.h:
18132         (re_string_allocate, re_string_construct, re_string_reconstruct):
18133         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
18134         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
18135         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
18136         (re_string_context_at, re_string_peek_byte_case):
18137         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
18138         is defined, since we now use prototypes always.
18139
18140         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
18141         C89 or better.  All uses removed.
18142
18143 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
18144
18145         * config/srclist.txt: Add glibc bugs 1220-1227.
18146
18147 2005-08-20  Jim Meyering  <jim@meyering.net>
18148
18149         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
18150         of unused local, dfa.
18151
18152 2005-08-20  Bruno Haible  <bruno@clisp.org>
18153
18154         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
18155
18156 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
18157
18158         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
18159         (re_node_set_insert_last, re_dfa_add_node):
18160         Rename local variables to avoid GCC shadowing warnings.
18161
18162 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
18163
18164         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
18165         [defined lint]: Suppress bogus uninitialized-variable warnings.
18166
18167         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
18168         and let the caller return REG_ESPACE if out of space.  This
18169         removes an uninitialied-variable warning with GCC 4.0.1, and also
18170         avoids taking the address of a local variable.  All callers
18171         changed.
18172
18173 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
18174
18175         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
18176         $LIBCSRC/posix/regexec.c.
18177         Add glibc bug 1217 for regcomp.c.
18178
18179 2005-08-19  Jim Meyering  <jim@meyering.net>
18180
18181         * lib/regexec.c (proceed_next_node): Redo local variables to
18182         avoid GCC shadowing warnings.
18183
18184 2005-08-18  Bruno Haible  <bruno@clisp.org>
18185
18186         * lib/strstr.c (strstr): Fix return value in multibyte case.
18187         * lib/strcasestr.c (strcasestr): Likewise.
18188
18189 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
18190
18191         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
18192
18193 2005-08-17  Jim Meyering  <jim@meyering.net>
18194
18195         Make the %s format (seconds since the epoch) work for a negative
18196         number and when used with a zero-padded field width, e.g. %015s.
18197
18198         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
18199         label so that it precedes the code to set `digits'.  Otherwise,
18200         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
18201         print `00-22'.  Now, it prints `-0022', as it should.
18202
18203 2005-08-17  Bruno Haible  <bruno@clisp.org>
18204
18205         * modules/strstr (Files): Add m4/mbrtowc.m4.
18206         (Depends-on): Add mbuiter.
18207
18208 2005-08-17  Bruno Haible  <bruno@clisp.org>
18209
18210         * modules/strcasestr: New file.
18211         * MODULES.html.sh (String handling, based on ANSI C 89): Add
18212         strcasestr.
18213
18214 2005-08-17  Bruno Haible  <bruno@clisp.org>
18215
18216         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
18217
18218 2005-08-17  Bruno Haible  <bruno@clisp.org>
18219
18220         * modules/mbuiter: New file.
18221         * MODULES.html.sh (Extended multibyte and wide character utilities):
18222         Add mbuiter.
18223
18224 2005-08-17  Bruno Haible  <bruno@clisp.org>
18225
18226         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
18227         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
18228
18229 2005-08-17  Bruno Haible  <bruno@clisp.org>
18230
18231         * m4/strcasestr.m4: New file.
18232
18233 2005-08-17  Bruno Haible  <bruno@clisp.org>
18234
18235         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
18236         * lib/strstr.c: Completely rewritten, with multibyte locale support.
18237
18238 2005-08-17  Bruno Haible  <bruno@clisp.org>
18239
18240         * lib/strcasestr.h: New file.
18241         * lib/strcasestr.c: New file.
18242
18243 2005-08-17  Bruno Haible  <bruno@clisp.org>
18244
18245         * lib/strcasecmp.c: Use mbuiter.h.
18246
18247 2005-08-17  Bruno Haible  <bruno@clisp.org>
18248
18249         * lib/mbuiter.h: New file.
18250
18251 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
18252
18253         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
18254         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
18255         and gl_GETOPT are both invoked via different paths (as happens
18256         with GNU tar CVS because it uses both argp and getopt), the former
18257         wins.
18258
18259 2005-08-16  Bruno Haible  <bruno@clisp.org>
18260
18261         * modules/tls: New file.
18262         * MODULES.html.sh (Multithreading): Add tls.
18263
18264 2005-08-16  Bruno Haible  <bruno@clisp.org>
18265
18266         * modules/strnlen1: New file.
18267         * MODULES.html.sh (String handling): Add strnlen1.
18268
18269 2005-08-16  Bruno Haible  <bruno@clisp.org>
18270
18271         * modules/strcase (Files): Add m4/mbrtowc.m4.
18272         (Depends-on): Add strnlen1, mbchar.
18273
18274 2005-08-16  Bruno Haible  <bruno@clisp.org>
18275
18276         * modules/mbiter: New file.
18277         * MODULES.html.sh (Extended multibyte and wide character utilities):
18278         Add mbiter.
18279
18280 2005-08-16  Bruno Haible  <bruno@clisp.org>
18281
18282         * modules/mbfile: New file.
18283         * MODULES.html.sh (Extended multibyte and wide character utilities):
18284         Add mbfile.
18285
18286 2005-08-16  Bruno Haible  <bruno@clisp.org>
18287
18288         * modules/mbchar: New file.
18289         * MODULES.html.sh (Extended multibyte and wide character utilities):
18290         New section.
18291
18292 2005-08-16  Bruno Haible  <bruno@clisp.org>
18293
18294         * m4/tls.m4: New file, from GNU gettext.
18295
18296 2005-08-16  Bruno Haible  <bruno@clisp.org>
18297
18298         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
18299         always.
18300         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
18301
18302 2005-08-16  Bruno Haible  <bruno@clisp.org>
18303
18304         * m4/mbiter.m4: New file.
18305
18306 2005-08-16  Bruno Haible  <bruno@clisp.org>
18307
18308         * m4/mbfile.m4: New file.
18309
18310 2005-08-16  Bruno Haible  <bruno@clisp.org>
18311
18312         * m4/mbchar.m4: New file.
18313
18314 2005-08-16  Bruno Haible  <bruno@clisp.org>
18315
18316         * lib/tls.h: New file, from GNU gettext.
18317         * lib/tls.c: New file, from GNU gettext.
18318
18319 2005-08-16  Bruno Haible  <bruno@clisp.org>
18320
18321         * lib/strnlen1.h: New file.
18322         * lib/strnlen1.c: New file.
18323
18324 2005-08-16  Bruno Haible  <bruno@clisp.org>
18325
18326         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
18327         (mbi_init): Update.
18328         (mbi_avail, mbi_advance): Let the iteration end before the terminating
18329         NUL byte, not after it.
18330
18331 2005-08-16  Bruno Haible  <bruno@clisp.org>
18332
18333         * lib/strcase.h (strcasecmp): Add note in comments.
18334         * lib/strncasecmp.c: Use code from strcasecmp.c.
18335         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
18336         (strcasecmp): Work correctly in multibyte locales.
18337
18338 2005-08-16  Bruno Haible  <bruno@clisp.org>
18339
18340         * lib/mbiter.h: New file.
18341
18342 2005-08-16  Bruno Haible  <bruno@clisp.org>
18343
18344         * lib/mbfile.h: New file.
18345
18346 2005-08-16  Bruno Haible  <bruno@clisp.org>
18347
18348         * lib/mbchar.h: New file.
18349         * lib/mbchar.c: New file.
18350
18351 2005-08-16  Bruno Haible  <bruno@clisp.org>
18352
18353         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
18354         the valid ones. Makes the comparison operations transitive:
18355         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
18356         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
18357
18358 2005-08-15  Simon Josefsson  <jas@extundo.com>
18359
18360         * modules/ssize_t (License): Change to 'unlimited'.
18361
18362         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
18363
18364 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
18365
18366         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
18367         Add comments for each pending glibc patch.
18368
18369 2005-08-15  Bruno Haible  <bruno@clisp.org>
18370
18371         * lib/regex.h (__restrict_arr): Don't define to __restrict if
18372         __cplusplus is defined.
18373
18374 2005-08-14  Jim Meyering  <jim@meyering.net>
18375
18376         Sync from coreutils.
18377
18378         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
18379         Use the hash-table-based cycle-detection code not just when
18380         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
18381         Reported by James Youngman in
18382         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
18383         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
18384         FTS_TIGHT_CYCLE_CHECK.
18385         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
18386         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
18387         once again.
18388         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
18389         * lib/fts.c (fd_safer): Remove decl.
18390         Include fcntl--.h rather than unistd-safer.h
18391         (fts_safe_changedir): Don't call fd_safer; no longer needed
18392         now that we include fcntl--.h.
18393
18394 2005-08-12  Simon Josefsson  <jas@extundo.com>
18395
18396         * modules/getndelim2: Use ssize_t module.
18397         * modules/getnline: Likewise.
18398         * modules/safe-read: Likewise.
18399         * modules/xreadlink: Likewise.
18400
18401         * modules/ssize_t: New file.
18402
18403 2005-08-12  Simon Josefsson  <jas@extundo.com>
18404
18405         * m4/readline.m4: Look for termcap, curses or ncurses if required.
18406
18407 2005-08-12  Simon Josefsson  <jas@extundo.com>
18408
18409         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
18410         ssize_t.
18411
18412 2005-08-12  Simon Josefsson  <jas@extundo.com>
18413
18414         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
18415         readline, getdelim and check_version.
18416         (Support for systems lacking ISO C 99: Sizes of integer types):
18417         Add size_max.
18418
18419 2005-08-12  Bruno Haible  <bruno@clisp.org>
18420
18421         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
18422
18423 2005-08-11  Simon Josefsson  <jas@extundo.com>
18424
18425         * modules/readline: New file.
18426
18427         * modules/strnlen (Files): Add strnlen.h.
18428
18429 2005-08-11  Simon Josefsson  <jas@extundo.com>
18430
18431         * m4/readline.m4: New file.
18432
18433 2005-08-11  Simon Josefsson  <jas@extundo.com>
18434
18435         * lib/readline.h, readline.c: New file.
18436
18437 2005-08-11  Simon Josefsson  <jas@extundo.com>
18438
18439         * doc/gnulib.texi (Initial import, Finishing touches): Mention
18440         gl_AVOID.
18441
18442 2005-08-11  Bruno Haible  <bruno@clisp.org>
18443
18444         * lib/strnlen.h (strnlen): Change parameter name to match comment.
18445
18446 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
18447
18448         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
18449
18450 2005-08-10  Simon Josefsson  <jas@extundo.com>
18451
18452         * tests/test-iconvme.c: New file.
18453
18454 2005-08-10  Simon Josefsson  <jas@extundo.com>
18455
18456         * m4/strnlen.m4: New file.
18457
18458         * m4/strndup.m4: Don't check for strnlen declaration, done in
18459         strnlen.m4.
18460
18461 2005-08-10  Simon Josefsson  <jas@extundo.com>
18462
18463         * lib/strndup.c: Use strnlen.h.
18464
18465         * lib/strnlen.h: New file.
18466
18467 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
18468
18469         * README: Typos.
18470
18471 2005-08-02  Simon Josefsson  <jas@extundo.com>
18472
18473         * modules/readline: New file.
18474
18475 2005-08-02  Simon Josefsson  <jas@extundo.com>
18476
18477         * modules/getdelim: New file.
18478
18479         * modules/getline: Rewrite, don't use getndelim2.
18480
18481 2005-08-02  Simon Josefsson  <jas@extundo.com>
18482
18483         * m4/getline.m4: Separate out getdelim stuff into separate module.
18484
18485         * m4/getdelim.m4: New file.
18486
18487 2005-08-02  Simon Josefsson  <jas@extundo.com>
18488
18489         * lib/getline.h, getline.c: Rewrite.
18490
18491         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
18492
18493 2005-07-31  Bruno Haible  <bruno@clisp.org>
18494
18495         * lib/lock.h (gl_lock_initializer): New macro.
18496         (gl_lock_define_initialized): Use it.
18497         (gl_rwlock_initializer): New macro.
18498         (gl_rwlock_define_initialized): Use it.
18499         (gl_recursive_lock_initializer): New macro.
18500         (gl_recursive_lock_define_initialized): Use it.
18501
18502 2005-07-30  Karl Berry  <karl@gnu.org>
18503
18504         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
18505         Report from Ben Pfaff, regarding getopt.
18506
18507 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
18508
18509         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
18510         normal way.
18511         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
18512         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
18513         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
18514         (gl_GETOPT): Use the new macros.  Most of the implementation
18515         is moved to the new macros.  This is for programs like Emacs
18516         that don't want all the functionality of gl_GETOPT.
18517
18518 2005-07-26  Bruno Haible  <bruno@clisp.org>
18519
18520         * m4/lock.m4: Update from GNU gettext.
18521
18522 2005-07-26  Bruno Haible  <bruno@clisp.org>
18523
18524         * lib/lock.h: Update from GNU gettext.
18525         * lib/lock.c: Update from GNU gettext.
18526
18527 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
18528
18529         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
18530         obsolescent AC_TRY_RUN.  Include the default includes files, for
18531         'exit'.
18532
18533 2005-07-24  Bruno Haible  <bruno@clisp.org>
18534
18535         * modules/visibility: New file.
18536         * MODULES.html.sh (Misc): Add visibility.
18537
18538 2005-07-24  Bruno Haible  <bruno@clisp.org>
18539
18540         * m4/visibility.m4: New file.
18541
18542 2005-07-24  Bruno Haible  <bruno@clisp.org>
18543
18544         * doc/visibility.texi: New file.
18545
18546 2005-07-22  Bruno Haible  <bruno@clisp.org>
18547
18548         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
18549         $(ALLOCA_H), redundant through BUILT_SOURCES.
18550         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
18551         redundant through BUILT_SOURCES.
18552         * modules/byteswap (Makefile.am): Remove explicit dependency on
18553         $(BYTESWAP_H), redundant through BUILT_SOURCES.
18554         * modules/fnmatch (Makefile.am): Remove explicit dependency on
18555         $(FNMATCH_H), redundant through BUILT_SOURCES.
18556         * modules/getopt (Makefile.am): Remove explicit dependency on
18557         $(GETOPT_H), redundant through BUILT_SOURCES.
18558         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
18559         redundant through BUILT_SOURCES.
18560         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
18561         redundant through BUILT_SOURCES.
18562         * modules/stdbool (Makefile.am): Remove explicit dependency on
18563         $(STDBOOL_H), redundant through BUILT_SOURCES.
18564         * modules/stdint (Makefile.am): Remove explicit dependency on
18565         $(STDINT_H), redundant through BUILT_SOURCES.
18566         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
18567         Remove explicit dependency on $(SYSEXITS_H).
18568         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
18569
18570 2005-07-18  Simon Josefsson  <jas@extundo.com>
18571
18572         * lib/check-version.c (check_version): Accept identical versions too.
18573
18574 2005-07-18  Bruno Haible  <bruno@clisp.org>
18575
18576         * modules/lock: New file.
18577         * MODULES.html.sh (Multithreading): New section.
18578
18579 2005-07-18  Bruno Haible  <bruno@clisp.org>
18580
18581         * m4/lock.m4: New file, from GNU gettext.
18582
18583 2005-07-18  Bruno Haible  <bruno@clisp.org>
18584
18585         * lib/lock.h: New file, from GNU gettext.
18586         * lib/lock.c: New file, from GNU gettext.
18587
18588 2005-07-18  Bruno Haible  <bruno@clisp.org>
18589
18590         * lib/lock.h (gl_once_t): New type.
18591         (gl_once_define, gl_once): New macros.
18592         * lib/lock.c (fresh_once): New variable.
18593         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
18594         functions.
18595
18596 2005-07-16  Simon Josefsson  <jas@extundo.com>
18597
18598         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
18599         workaround, suggested by Bruno.
18600
18601 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
18602
18603         * modules/xalloc (Depends-on): Add xalloc-die.
18604         * modules/xvasprintf (Depends-on): Add xalloc-die.
18605
18606 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
18607
18608         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
18609         with a minor change.
18610
18611 2005-07-15  Bruno Haible  <bruno@clisp.org>
18612
18613         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
18614         When using lib/poll.c, define poll as rpl_poll.
18615
18616 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
18617
18618         * modules/argp (Depends-on): Remove unlocked-io.
18619
18620 2005-07-14  Derek Price  <derek@ximbiot.com>
18621
18622         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
18623         for glob symlink bug.
18624
18625 2005-07-14  Bruno Haible  <bruno@clisp.org>
18626
18627         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
18628         Instead, test for *_unlocked function declarations directly.
18629
18630 2005-07-11  Simon Josefsson  <jas@extundo.com>
18631
18632         * modules/size_max: New file.
18633
18634         * modules/xsize: Depend on size_max module for size_max.m4.
18635
18636 2005-07-11  Simon Josefsson  <jas@extundo.com>
18637
18638         * lib/size_max.h: New file.
18639
18640 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
18641
18642         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
18643         copyright symbol and the year.
18644         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
18645         (version_etc_va): Use parameterized copyright notice.
18646         Reword to conform to the current GNU coding standards.
18647
18648 2005-07-11  Karl Berry  <karl@gnu.org>
18649
18650         * doc/gnulib.texi (Quoting): new node.
18651         (Initial import): more info, from Patrice.
18652
18653 2005-07-11  Bruno Haible  <bruno@clisp.org>
18654
18655         * gnulib-tool (func_usage): Document option --avoid.
18656         (Command line options): Handle --avoid.
18657         (func_acceptable): New function.
18658         (func_modules_transitive_closure): Use it.
18659
18660 2005-07-11  Bruno Haible  <bruno@clisp.org>
18661
18662         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
18663         Reported by Jim Meyering.
18664
18665 2005-07-10  Bruno Haible  <bruno@clisp.org>
18666
18667         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
18668         Needed when size_t is smaller than 'unsigned int'.
18669         Reported by Paul Eggert.
18670
18671 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
18672
18673         * modules/argp (Depends-on): Add unlocked-io
18674
18675 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
18676
18677         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
18678         block of defines.
18679
18680 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
18681
18682         * config/srclist.txt: Comment out regcomp.c, since we have a porting
18683         fix now.
18684
18685 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
18686         and Paul Eggert  <eggert@cs.ucla.edu>
18687
18688         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
18689         in wint_t, not wchar_t.  Remove now-unnecessary cast.
18690
18691 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
18692
18693         * modules/regex (Files): Add lib/regex_internal.c,
18694         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
18695         (Depends-on): Add extensions.
18696         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
18697
18698 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
18699
18700         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
18701         pathconf.
18702         * m4/same.m4 (gl_SAME): Likewise.
18703         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
18704
18705         * m4/regex.m4: Adjust to new libc regex implementation.
18706         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
18707         all the .c and .h parts of (the new) regex.
18708         Quote the m4 stuff better.
18709         Check for RE_ICASE bug of old gnulib.
18710         Check for REG_STARTEND of recent libc.
18711         Rename local variables from jm_* to gl_*.
18712         Quote operand of "test -f".
18713         Say "recent enough" version of libc, not "version 2".
18714         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
18715         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
18716         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
18717         Remove check for btowc, isascii.
18718         Require AM_LANGINFO_CODESET.
18719
18720 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
18721
18722         * lib/regex.c, regex.h: Sync from libc.
18723         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
18724         * lib/regexec.c:
18725         New files, synced from libc, except that regex_internal.h
18726         currently has a small porting fix.
18727
18728 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
18729
18730         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
18731         regex_internal.c, regexec.c.
18732         Add regex_internal.h too, but as a comment, since the libc version
18733         is currently broken in gnulib mode.
18734
18735 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18736
18737         Support programs like Emacs that use gnulib but not gettext.
18738         * MODULES.html.sh (Internationalization functions): Add gettext-h.
18739         * modules/gettext-h: New file.
18740         * modules/gettext (Files): Remove lib/gettext.h.
18741         (Depends-on): Add gettext-h.
18742         (Makefile.am): Remove lib_SOURCES.
18743         * modules/argmatch, modules/c-stack, modules/closeout:
18744         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
18745         * modules/execute, modules/file-type, modules/getaddrinfo:
18746         * modules/getopt, modules/human, modules/javacomp:
18747         * modules/javaexec, modules/mkdir-p, modules/obstack:
18748         * modules/openat, modules/pagealign_alloc, modules/pipe:
18749         * modules/quotearg, modules/regex, modules/rpmatch:
18750         * modules/unicodeio, modules/userspec, modules/version-etc:
18751         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
18752         * modules/xsetenv:
18753         Depend on gettext-h, not gettext.
18754
18755 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
18756
18757         * gnulib-tool (func_import): Add support for 'public domain' license.
18758         * modules/alloca, modules/atexit, modules/memmove:
18759         Now public domain, not GPL.
18760         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
18761         * modules/realloc, modules/strerror, modules/strtod:
18762         Now LGPL, not GPL.
18763
18764 2005-07-05  Bruno Haible  <bruno@clisp.org>
18765
18766         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
18767         autoconf CVS. Needed for mingw.
18768
18769 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
18770
18771         Remove the dependency of the strftime module on the tzset module.
18772         * modules/strftime (Depends-on): Remove dependency on tzset.
18773
18774 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
18775
18776         Remove the dependency of the strftime module on the tzset module.
18777         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
18778         gl_FUNC_TZSET_CLOBBER.
18779
18780 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
18781
18782         Remove the dependency of the strftime module on the tzset module.
18783         * lib/strftime.c (my_strftime)
18784         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
18785         Copy the input structure, to work around some of the bug with
18786         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
18787         Solaris releases, you should also use the tzset module, but we won't
18788         require it as a dependency any more since we don't want LGPLed code
18789         to depend on GPLed code.
18790
18791 2005-07-02  Jim Meyering  <jim@meyering.net>
18792
18793         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
18794         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
18795         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
18796         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
18797
18798 2005-07-02  Jim Meyering  <jim@meyering.net>
18799
18800         * lib/backupfile.c (backup_args): Change a `0' to NULL.
18801
18802 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18803
18804         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
18805         declares only 'struct timespec;' (!).
18806
18807 2005-07-01  Jim Meyering  <jim@meyering.net>
18808
18809         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
18810         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
18811         * lib/save-cwd.c, tempname.c:
18812         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
18813         and don't include <sys/file.h>).
18814
18815 2005-06-29  Jim Meyering  <jim@meyering.net>
18816
18817         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
18818         type name.  Use the variable name instead.
18819         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
18820         Likewise.
18821
18822 2005-06-28  Simon Josefsson  <jas@extundo.com>
18823
18824         * modules/check-version (Files): Add check-version.m4.
18825
18826 2005-06-28  Simon Josefsson  <jas@extundo.com>
18827
18828         * m4/check-version.m4: New file, suggested by Jim Meyering
18829         <jim@meyering.net>.
18830
18831 2005-06-28  Simon Josefsson  <jas@extundo.com>
18832
18833         * lib/check-version.h, lib/check-version.c: New files.
18834
18835 2005-06-28  Simon Josefsson  <jas@extundo.com>
18836
18837         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
18838         collision with global variable.  Better indentation.  Don't
18839         increment buffer pointer beyond buffer end.  Based on comments
18840         from Paul Eggert <eggert@cs.ucla.edu>.
18841
18842         * lib/base64.h: Indent.
18843
18844 2005-06-28  Simon Josefsson  <jas@extundo.com>
18845
18846         * doc/gnulib.texi (Library version handling): New section.
18847
18848 2005-06-28  Jim Meyering  <jim@meyering.net>
18849
18850         * check-module (find_included_lib_files): Hard-code another
18851         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
18852         but modules/fts-lgpl (correctly) does not list those files.
18853
18854         * modules/canonicalize (Files): Add lib/pathmax.h.
18855
18856 2005-06-25  Simon Josefsson  <jas@extundo.com>
18857
18858         * modules/check-version: New file.
18859
18860 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
18861
18862         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
18863         initializer of struct addrinfo, as an indication that we don't
18864         care how many members the structure has.
18865
18866 2005-06-24  Derek Price  <derek@ximbiot.com>
18867         and Bruno Haible  <bruno@clisp.org>
18868
18869         Remove stat module & update lstat.
18870         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
18871         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
18872         * m4/stat.m4: Remove this file.
18873
18874 2005-06-24  Derek Price  <derek@ximbiot.com>
18875         and Bruno Haible  <bruno@clisp.org>
18876
18877         Remove stat module & update lstat.
18878         * lib/stat.c: Remove this file...
18879         (slash_aware_lstat): ...moving this content and its support...
18880         * lib/lstat.c (rpl_lstat): ...into here.
18881         * lib/lstat.h: New file.
18882
18883 2005-06-24  Derek Price  <derek@ximbiot.com>
18884         and Bruno Haible  <bruno@clisp.org>
18885
18886         Remove stat module & update lstat.
18887         * config/srclist.txt (libc sources): Remove stat.
18888
18889 2005-06-24  Derek Price  <derek@ximbiot.com>
18890         and Bruno Haible  <bruno@clisp.org>
18891
18892         Remove stat module & update lstat.
18893         * MODULES.html.sh (stat): Remove.
18894         * MODULES.html: Regenerated.
18895         * modules/lstat (Description): Correct function name.
18896         (Files): Add "lstat.h".
18897         (Depends-on): Remove stat, add xalloc, stat-macros.
18898         * modules/stat: Remove this file.
18899         (Include): Add "lstat.h", remove <sys/stat.h>.
18900
18901 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
18902
18903         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
18904         (ranged_convert): Don't save conversion in a temporary struct.
18905         This causes a warning with GCC 4.0.0, and anyway in the typical
18906         case it's not worth the extra 100 bytes or so of code.
18907         (ranged_convert, __mktime_internal): When calling a function via a
18908         pointer P, use P () rather than (*P) (), as we now assume C89 or
18909         better.
18910
18911 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18912
18913         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
18914         "who -r" failed to give output.  Problem reported by Tim Waugh.
18915
18916         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
18917         (xcalloc): Use it to avoid needless tests.
18918         Problem reported by Jim Meyering.
18919
18920 2005-06-20  Derek Price  <derek@ximbiot.com>
18921
18922         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
18923         unnecessary for Autoconfs > 2.59c.
18924
18925 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
18926
18927         * lib/argp.h (__option_is_short): Check upper limit of
18928         __key. Isprint() requires its argument to have the value
18929         of an unsigned char or EOF.
18930
18931 2005-06-16  Jim Meyering  <jim@meyering.net>
18932
18933         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
18934         when either N or S is zero.
18935
18936 2005-06-16  Derek Price  <derek@ximbiot.com>
18937
18938         * m4/bison.m4: Declare YACC & YFLAGS precious.
18939
18940 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
18941
18942         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
18943         multibyte string or pattern, fall back on unibyte matching.
18944         Problem reported by James Youngman.
18945
18946 2005-06-08  Bruno Haible  <bruno@clisp.org>
18947
18948         * modules/csharpcomp: New file.
18949         * MODULES.html.sh (C#): Add csharpcomp.
18950
18951 2005-06-08  Bruno Haible  <bruno@clisp.org>
18952
18953         * m4/csharpcomp.m4: New file, from GNU gettext.
18954
18955 2005-06-08  Bruno Haible  <bruno@clisp.org>
18956
18957         * lib/csharpcomp.h: New file, from GNU gettext.
18958         * lib/csharpcomp.c: New file, from GNU gettext.
18959         * lib/csharpcomp.sh.in: New file, from GNU gettext.
18960
18961 2005-06-08  Bruno Haible  <bruno@clisp.org>
18962
18963         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
18964         warning on mingw.
18965
18966 2005-06-07  Derek Price  <derek@ximbiot.com>
18967
18968         Sync from CVS.
18969         * lib/glob_.h: Indent nested #ifdef.
18970
18971 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
18972
18973         Sync from coreutils.
18974         Use "file name" when talking about file names, instead of "filename"
18975         or "path", as per the GNU coding standards.
18976         * lib/mkdir-p.c: Renamed from makepath.c.
18977         (make_dir_parents): Renamed from make_path.  All callers changed.
18978         * lib/mkdir-p.h: Likewise.  All includers changed.
18979         * lib/filenamecat.c: Renamed from path-concat.c.
18980         (file_name_concat): Renamed from path_concat.  All callers changed.
18981         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
18982         * lib/filenamecat.h: Likewise.  All includers changed.
18983         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
18984         in comments or local variable names.
18985         * lib/basename.c: Likewise.
18986         * lib/canonicalize.c, canonicalize.h: Likewise.
18987         * lib/dirname.c, dirname.h: Likewise.
18988         * lib/euidaccess.c: Likewise.
18989         * lib/exclude.c: Likewise
18990         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
18991         * lib/fsusage.c, fsuage.h: Likewise.
18992         * lib/fts.c, fts_.h: Likewise.
18993         * lib/getcwd.c: Likewise.
18994         * lib/getloadavg.c: Likewise.
18995         * lib/mkstemp.c: Likewise.
18996         * lib/mountlist.c, mountlist.h: Likewise.
18997         * lib/openat.c, openat.h: Likewise.
18998         * lib/readlink-stub.c: Likewise.
18999         * lib/readutmp.c, readutmp.h: Likewise.
19000         * lib/rename.c: Likewise.
19001         * lib/rmdir.c: Likewise.
19002         * lib/same.c: Likewise.
19003         * lib/savedir.c: Likewise.
19004         * lib/stripslash.c: Likewise.
19005         * lib/tempname.c: Likewise.
19006         * lib/xreadlink.c: Likewise.
19007         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
19008         All uses changed.
19009         * lib/exclude.h: Likewise.
19010
19011         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
19012         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
19013         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
19014         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
19015         * lib/pathmax.h: Include <limits.h> unconditionally, since other
19016         files have been getting away with it for years (MORE/BSD 4.3
19017         is extinct now).
19018         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
19019         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
19020
19021         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
19022         Define to 256, not 255, as per modern POSIX.
19023
19024 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19025
19026         Sync from coreutils.
19027         Use "file name" when talking about file names, instead of "filename"
19028         or "path", as per the GNU coding standards.
19029         * MODULES.html.sh: mkdir-p renamed from makepath.
19030         filenamecat renamed from path-concat.
19031         * modules/filenamecat: Renamed from modules/path-concat.
19032         (Files): filenamecat.h and filenamecat.c renamed from
19033         path-concat.h and path-concat.c.
19034         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
19035         (Include): filenamecat.h, not path-concat.h.
19036         * modules/mkdir-p: Renamed from modules/makepath.
19037         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
19038         makepath.c.
19039         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
19040         (Include): mkdir-p.h, not makepath.h.
19041
19042 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19043
19044         Sync from coreutils.
19045         * m4/mkdir-p.m4: Renamed from makepath.m4.
19046         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
19047         Rename files from makepath.c to mkdir-p.c, and from
19048         makepath.h to mkdir-p.h.
19049         * m4/filenamecat.m4: Renamed from path-concat.m4.
19050         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
19051         Rename files from path-concat.c to filenamecat.c,
19052         and from path-concat.h to filenamecat.h.
19053         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
19054         "file name" in local variables or comments.
19055         * m4/rename.m4: Likewise.
19056
19057 2005-06-01  Bruno Haible  <bruno@clisp.org>
19058
19059         * modules/csharpexec: New file.
19060         * MODULES.html.sh (C#): New section.
19061
19062 2005-06-01  Bruno Haible  <bruno@clisp.org>
19063
19064         * m4/csharp.m4: New file, from GNU gettext.
19065         * m4/csharpexec.m4: New file, from GNU gettext.
19066
19067 2005-06-01  Bruno Haible  <bruno@clisp.org>
19068
19069         * lib/csharpexec.h: New file, from GNU gettext.
19070         * lib/csharpexec.c: New file, from GNU gettext.
19071         * lib/csharpexec.sh.in: New file, from GNU gettext.
19072
19073 2005-05-31  Derek Price  <derek@ximbiot.com>
19074             Paul Eggert  <eggert@cs.ucla.edu>
19075
19076         Sync from cvs.
19077         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
19078
19079 2005-05-31  Derek Price  <derek@ximbiot.com>
19080             Paul Eggert  <eggert@cs.ucla.edu>
19081
19082         Sync from cvs.
19083         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
19084
19085 2005-05-29  Derek Price  <derek@ximbiot.com>
19086
19087         * config/srclist.txt (glob_.h, glob.c): Add these files.
19088
19089 2005-05-29  Derek Price  <derek@ximbiot.com>
19090
19091         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
19092         * modules/glob: New file.
19093         * modules/getlogin_r: Add link to POSIX spec in description.
19094
19095 2005-05-29  Derek Price  <derek@ximbiot.com>
19096             Paul Eggert  <eggert@cs.ucla.edu>
19097
19098         * m4/glob.m4: New file.
19099
19100 2005-05-29  Derek Price  <derek@ximbiot.com>
19101             Paul Eggert  <eggert@cs.ucla.edu>
19102
19103         * lib/glob_.h, lib/glob.c: New files.
19104
19105 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
19106
19107         * modules/fts (Files): Remove m4/inttypes-pri.m4.
19108         * modules/fts-lgpl (Depends-on): Remove gettext.
19109
19110 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
19111
19112         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
19113         and don't require gt_INTTYPES_PRI.
19114
19115 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
19116
19117         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
19118
19119         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
19120         the configuration hassle isn't worth it.
19121         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
19122         (LONGEST_MODIFIER, PRIuMAX): Remove.
19123
19124 2005-05-27  Bruno Haible  <bruno@clisp.org>
19125
19126         * lib/getlogin_r.h: Remove second include of <stddef.h>.
19127
19128 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
19129
19130         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
19131         _POSIX_PTHREAD_SEMANTICS for Solaris.
19132
19133 2005-05-25  Derek Price  <derek@ximbiot.com>
19134
19135         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
19136
19137 2005-05-25  Derek Price  <derek@ximbiot.com>
19138             Paul Eggert  <eggert@cs.ucla.edu>
19139
19140         * modules/getlogin_r, m4/getlogin_r.m4: New files.
19141         * lib/getlogin_r.c, getlogin_r.h: New files.
19142
19143 2005-05-25  Bruno Haible  <bruno@clisp.org>
19144             Derek Price  <derek@ximbiot.com>
19145
19146         * lib/getlogin_r.h: Simplify API documentation.
19147
19148 2005-05-23  Derek Price  <derek@ximbiot.com>
19149
19150         * modules/minmax (Files): Add m4/minmax.m4.
19151         (configure.ac): Add gl_MINMAX.
19152
19153 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
19154
19155         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
19156         so that unistd-safer.h (GPL'ed code) need not be included.
19157
19158 2005-05-22  Bruno Haible  <bruno@clisp.org>
19159
19160         * m4/minmax.m4: New file.
19161         Based on a patch by Derek Price <derek@ximbiot.com>.
19162
19163 2005-05-22  Bruno Haible  <bruno@clisp.org>
19164
19165         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
19166         (INT64_MIN): Fix definition.
19167         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
19168
19169         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
19170         NEED_SIGNED_INT_TYPES.
19171
19172         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
19173         HAVE_SYSTEM_INTTYPES.
19174
19175 2005-05-22  Bruno Haible  <bruno@clisp.org>
19176
19177         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
19178         Also include <sys/param.h> if it defines MIN, MAX.
19179         Based on a patch by Derek Price <derek@ximbiot.com>.
19180
19181 2005-05-21  Jim Meyering  <jim@meyering.net>
19182
19183         * modules/fts (Files): Add m4/inttypes-pri.m4.
19184         (Depends-on): Add lstat and remove gettext.  Alphabetize.
19185
19186 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
19187
19188         New fts module.
19189         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
19190         (setup_dir, free_dir): New functions.
19191         (enter_dir, leave_dir): Define trivial
19192         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
19193         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
19194         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
19195         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
19196         Move to fts-cycle.c.
19197         (fts_open): Use setup_dir.
19198         (fts_close): Use free_dir.
19199         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
19200         This adds a label and some gotos, but the alternatives were messier.
19201         Check for memory allocation failure when entering a dir.
19202         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
19203         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
19204         (FTS): New member fts_cycle, that is a union that contains the
19205         old active_dir_ht and cycle_state.  All uses changed to mention
19206         fts_cycle.ht and fts_cycle.state.
19207         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
19208         fts.c, with the following changes:
19209         (setup_dir, free_dir): New functions.
19210         (enter_dir): Now returns bool.  Return true if successful, false
19211         if memory exhausted.  All callers changed.
19212         Do not bother partly cleaning up on
19213         memory allocation failure; that is free_dir's job.
19214         However, free ad if hash_insert fails, to avoid memory leak.
19215         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
19216         fts->fts_options to see which union member to use.
19217
19218 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
19219
19220         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
19221         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
19222
19223 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
19224
19225         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
19226
19227 2005-05-20  Jim Meyering  <jim@meyering.net>
19228
19229         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
19230         Now a macro, to pacify GCC.
19231
19232 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
19233
19234         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
19235         of -1.
19236
19237 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
19238
19239         * lib/chown.c (rpl_chown): Return -1 on failure.
19240
19241 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
19242
19243         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
19244         Don't check for stddef.h.
19245         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
19246         don't use its results.
19247         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
19248         since we include them unconditionally.  Don't require
19249         AM_STDBOOL_H, since stdbool is a prerequisite.
19250         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
19251         since we assume C89 or better.
19252         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
19253         as we don't use their results.
19254         Don't check for fchdir, memmove, memset, strrchr, as we use
19255         them unconditionally.
19256         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
19257         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
19258
19259 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
19260
19261         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
19262         Include <stddef.h> unconditionally, since we assume C89 now.
19263         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
19264         * lib/fts.c: Include fts_.h first, to check interface.
19265         Do not include intprops.h; no longer needed.
19266         Include cycle-check.h and hash.h, since fts_.h no longer does.
19267         Remove unnecessary casts of closedir to void.
19268         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
19269         decide whether to decrement nlinks.
19270         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
19271         (FTS): Use struct hash_table * instead of Hash_table, so that
19272         we no longer need to include hash.h here.
19273
19274 2005-05-18  Jim Meyering  <jim@meyering.net>
19275
19276         * modules/dirfd (License): Change to LGPL.  Most of the code
19277         is already in the public domain.
19278
19279 2005-05-18  Jim Meyering  <jim@meyering.net>
19280
19281         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
19282         Reported by Yoann Vandoorselaere.
19283
19284 2005-05-17  Jim Meyering  <jim@meyering.net>
19285
19286         * m4/fts.m4: New file, from coreutils.
19287
19288 2005-05-17  Jim Meyering  <jim@meyering.net>
19289
19290         * lib/fts.c, lib/fts_.h: New files, from coreutils.
19291
19292 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
19293
19294         Sync from coreutils.
19295         * m4/unlinkdir.m4: New file.
19296
19297 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
19298
19299         Sync from coreutils.
19300         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
19301         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
19302         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
19303         White space changes only.
19304         * lib/makepath.c (make_path): Port to hosts where leading "//" is
19305         special.
19306         * lib/yesno.c: Include getline.h, not ctype.h.
19307         (yesno): Don't remove leading white space; POSIX doesn't allow it.
19308         Use getline to remove arbitrary restriction on response length.
19309
19310 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
19311
19312         * config/srclist-update: Spell out "Street" in FSF postal
19313         mail address; this is the style the FSF seems to prefer.
19314
19315         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
19316         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
19317         this updates FSF postal mail address.
19318
19319         Sync from coreutils.
19320         * modules/unlinkdir: New file.
19321         * modules/yesno (Depends-on): Add getline.
19322         * MODULES.html.sh (File system functions): Add unlinkdir.
19323
19324 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
19325
19326         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
19327         lib/strsep.h:
19328         Change the initial comment to refer to GPL, not LGPL.
19329         gnulib-tool will change it to LGPL as needed.
19330
19331         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
19332         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
19333         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
19334         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
19335         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
19336         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
19337         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
19338         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
19339         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
19340         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
19341         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
19342         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
19343         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
19344         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
19345         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
19346         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
19347         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
19348         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
19349         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
19350         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
19351         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
19352         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
19353         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
19354         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
19355         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
19356         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
19357         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
19358         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
19359         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
19360         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
19361         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
19362         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
19363         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
19364         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
19365         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
19366         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
19367         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
19368         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
19369         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
19370         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
19371         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
19372         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
19373         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
19374         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
19375         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
19376         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
19377         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
19378         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
19379         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
19380         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
19381         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
19382         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
19383         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
19384         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
19385         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
19386         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
19387         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
19388         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
19389         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
19390         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
19391         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
19392         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
19393         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
19394         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
19395         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
19396         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
19397         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
19398         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
19399         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
19400         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
19401         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
19402         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
19403         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
19404         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
19405         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
19406         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
19407         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
19408         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
19409         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
19410         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
19411         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
19412         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
19413         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
19414         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
19415         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
19416         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
19417         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
19418         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
19419         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
19420         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
19421         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
19422         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
19423         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
19424         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
19425         lib/yesno.c, lib/yesno.h:
19426         Update FSF postal mail address.
19427
19428 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
19429
19430         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
19431         tests/test-memmem.c, tests/test-stpncpy.c:
19432         Update FSF postal mail address.
19433
19434 2005-05-13  Bruno Haible  <bruno@clisp.org>
19435
19436         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
19437         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
19438         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
19439         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
19440         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
19441         Add support for 64-bit integers in the MSVC compiler.
19442
19443 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
19444
19445         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
19446
19447 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
19448
19449         * gnulib-tool (func_import): Sort and uniquify recommended includes.
19450
19451 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
19452
19453         * doc/getdate.texi (General date syntax): Don't say that date
19454         date --iso-8601=ns generates acceptable dates; it doesn't yet.
19455         Problem reported by Nic Ferrier.
19456
19457 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19458
19459         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
19460         specified in ai_socktype. Fix invalid ai_protocol
19461         check. ai_protocol is usually set to 0 or depending on
19462         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
19463         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
19464         ai_socktype / ai_protocol in the returned addrinfo structure.
19465
19466 2005-05-10  Simon Josefsson  <jas@extundo.com>
19467
19468         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
19469         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
19470
19471 2005-05-10  Karl Berry  <karl@gnu.org>
19472
19473         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
19474         (from http://www.gnu.org/licenses).
19475         * doc/COPYING.LIB: also rename to COPYING.LESSER.
19476         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
19477         fdl.texi suffices.
19478
19479 2005-05-10  Karl Berry  <karl@gnu.org>
19480
19481         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
19482         (COPYING.DOC): remove.
19483
19484         * config/srclist-update: new FSF address.
19485
19486 2005-05-10  Derek Price  <derek@ximbiot.com>
19487
19488         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
19489         possible.
19490
19491 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19492             Bruno Haible  <bruno@clisp.org>
19493
19494         * modules/inet_ntop: New file.
19495         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
19496         inet_ntop.
19497
19498 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19499             Bruno Haible  <bruno@clisp.org>
19500
19501         * m4/inet_ntop.m4: New file.
19502
19503 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19504             Bruno Haible  <bruno@clisp.org>
19505
19506         * lib/inet_ntop.h: New file.
19507         * lib/inet_ntop.c: New file, from glibc with modifications.
19508
19509 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
19510
19511         * modules/time_r (License): Change to LGPL.
19512         * modules/extensions (License): Change to LGPL.  Actually,
19513         the license is more permissive than that, but currently gnulib-tool
19514         doesn't know how to handle more-permissive licenses.
19515
19516         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
19517         Problem reported by Dave Love.
19518
19519 2005-05-08  Jim Meyering  <jim@meyering.net>
19520
19521         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
19522         blank.
19523
19524 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
19525
19526         * modules/argmatch (Depends-on): Add stdbool.
19527         * modules/backupfile (Depends-on): Likewise.
19528         * modules/chdir-long (Depends-on): Likewise.
19529         * modules/closeout (Depends-on): Likewise.
19530         * modules/cycle-check (Depends-on): Likewise.
19531         * modules/dirname (Depends-on): Likewise.
19532         * modules/fnmatch (Depends-on): Likewise.
19533         * modules/fsusage (Depends-on): Likewise.
19534         * modules/fwriteerror (Depends-on): Likewise.
19535         * modules/getcwd (Depends-on): Likewise.
19536         * modules/getloadavg (Depends-on): Likewise.
19537         * modules/hard-locale (Depends-on): Likewise.
19538         * modules/makepath (Depends-on): Likewise.
19539         * modules/mountlist (Depends-on): Likewise.
19540         * modules/nanosleep (Depends-on): Likewise.
19541         * modules/posixtm (Depends-on): Likewise.
19542         * modules/quotearg (Depends-on): Likewise.
19543         * modules/readtokens (Depends-on): Likewise.
19544         * modules/readtokens0 (Depends-on): Likewise.
19545         * modules/readutmp (Depends-on): Likewise.
19546         * modules/save-cwd (Depends-on): Likewise.
19547         * modules/strftime (Depends-on): Likewise.
19548         * modules/userspec (Depends-on): Likewise.
19549         * modules/utimecmp (Depends-on): Likewise.
19550         * modules/xgetcwd (Depends-on): Likewise.
19551         * modules/xnanosleep (Depends-on): Likewise.
19552         * modules/xstrtod (Depends-on): Likewise.
19553         * modules/yesno (Depends-on): Likewise.
19554
19555 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19556
19557         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
19558         needless checks.
19559
19560 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
19561
19562         Merge from coreutils.  Among other things,
19563         add bulletproofing for cases where stdin, stdout, or stderr are closed.
19564         * lib/fd-safer.c: New file.
19565         * lib/fcntl-safer.h, open-safer.c: Remove.
19566         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
19567         * lib/dup-safer.c: Include unistd-safer.h first.
19568         Don't include errno.h.
19569         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
19570         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
19571         * lib/file-type.c: Rely on file-type.h change.
19572         * lib/getloadavg.c: Include unistd-safer.h.
19573         (getloadavg): Use safer open.
19574         * lib/getusershell.c: Include "stdio-safer.h".
19575         (getusershell): Use safer fopen.
19576         * lib/long-options.c (long_options): Use NULL rather than 0.
19577         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
19578         'free'.
19579         * lib/modechange.c: Likewise.
19580         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
19581         (MODE_DONE): New constant.
19582         (struct mode_change): Remove 'next' member.
19583         (make_node_op_equals): New function; like the old one of the
19584         same name, except it allocates an array.
19585         (mode_compile, mode_create_from_ref): Use it.
19586         (mode_compile): Allocate result as an array, not a linked list.
19587         Parse octal string ourself, so that we catch mistakes like "+0".
19588         (mode_adjust): Arg is an array, not a linked list.
19589         * lib/modechange.c: Include stat-macros.h, xalloc.h.
19590         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
19591         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
19592         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
19593         Remove.  This is now stat-macros.h's job.
19594         (talloc): Remove.  All callers replaced by xalloc, so that
19595         our invokers don't have to worry about reporting memory failures.
19596         (make_node_op_equals): Remove.
19597         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
19598         New constants.
19599         (struct mode_change): Moved here from modechange.h.
19600         (mode_append_entry): Remove.
19601         (mode_compile): Remove MASKED_OPS arg, since it encouraged
19602         apps to have incorrect behavior.  Use simpler algorithm for head
19603         and tail.  Don't futz with umask; that's now the job of mode_adjust.
19604         Detect more invalid usages rather than having somewhat-random behavior.
19605         Don't insert an "a=" action, as that leads to incorrect behavior.
19606         (mode_compile, mode_create_from_ref): Return NULL on error instead
19607         of an enum, since now there's only one way to have an error.  All
19608         callers changed.
19609         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
19610         at the correct time.  Simplify calculation of "+u" and its ilk.
19611         Don't mishandle "+X".
19612         (mode_free): Remove "register" and localize decls.
19613         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
19614         (struct mode_change): Move to modechange.c; callers don't
19615         need to see this stuff.
19616         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
19617         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
19618         (mode_change, mode_adjust): Reflect the new signatures noted above.
19619         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
19620         that might redefine system include files.
19621         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
19622         (my_usleep): Use NULL rather than (void *) 0.
19623         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
19624         Use siginterrupt to specify that system calls should be interrupted.
19625         (rpl_nanosleep): Move initialization of suspended closer to call of
19626         my_usleep.
19627         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
19628         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
19629         (desirable_utmp_entry): New function.
19630         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
19631         using x2nrealloc, to simplify logic.
19632         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
19633         size calculation.  Do not assume utmp file is a regular file.
19634         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
19635         (READ_UTMP_CHECK_PIDS): New constant.
19636         * lib/save-cwd.c: Include unistd-safer.h.
19637         (save_cwd): Use fd_safer.
19638         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
19639         [!_LIBC] Include "stat-macros.h" instead.
19640         * lib/unistd-safer.h (fd_safer): New decl.
19641
19642 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
19643
19644         * modules/getloadavg (Depends-on): Add unistd-safer.
19645         * modules/getusershell (Depends-on): Add stdio-safer.
19646         * modules/lstat (Depends-on): Remove xalloc.
19647         * modules/mkstemp (Depends-on): Add stat-macros.
19648         * modules/modechange (Depends-on): Remove xstrtol.
19649         Add stat-macros, xalloc.
19650         * modules/save-cwd (Depends-on): Add unistd-safer.
19651         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
19652         * modules/unistd-safer (Files): Add lib/fd-safer.c
19653         (Makefile.am): Remove lib_SOURCES.
19654
19655         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
19656         Remove fcntl-safer; unistd-safer supersedes it.
19657
19658 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
19659
19660         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
19661         AC_HEADER_STAT.
19662         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
19663         (gl_PREREQ_CHOWN): Remove.
19664         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
19665         it.  Don't require AC_HEADER_STAT.
19666         (gl_PREREQ_LSTAT): Remove.
19667         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
19668         Don't require AC_HEADER_STAT.
19669         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
19670         (gl_PREREQ_RMDIR): Remove.
19671         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
19672         mention stat-macros.h or AC_HEADER_STAT, since we'll make
19673         the stat-macros module a prerequisite.
19674         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
19675         * m4/filemode.m4 (gl_FILEMODE): Likewise.
19676         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
19677         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
19678         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
19679         variable names.
19680         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
19681         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
19682         variable prefixes.
19683         * m4/fcntl-safer.m4: Remove.
19684         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
19685         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
19686         Invoke gl_PREREQ_FD_SAFER.
19687         (gl_PREREQ_FD_SAFER): New macro.
19688         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
19689         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
19690         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
19691         Remove duplicate call to AC_LIBOBJ(readutmp).
19692         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
19693
19694         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
19695         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
19696
19697 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
19698
19699         * MODULES.html.sh (Misc): Add byteswap.
19700
19701 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
19702
19703         * modules/getcwd (Depends-on): Add extensions.
19704         * modules/openat (Depends-on): Likewise.
19705
19706 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
19707
19708         * modules/byteswap: New file.
19709
19710 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
19711
19712         * m4/byteswap.m4: New file.
19713
19714 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
19715
19716         * lib/byteswap_.h: New file.
19717
19718 2005-04-25  Karl Berry  <karl@gnu.org>
19719
19720         * m4/gettext.m4: Update from GNU gettext 0.14.4.
19721
19722 2005-04-25  Albert Chin  <china@thewrittenword.com>
19723
19724         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
19725         Toolkit C bug.
19726
19727 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
19728
19729         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
19730         (func_ln_if_changed) Remove forcibly for no error message
19731         in case file does not exist.
19732
19733 2005-04-19  Simon Josefsson  <jas@extundo.com>
19734
19735         * gnulib-tool (Options): Make --symlink mean --symbolic.
19736
19737 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
19738
19739         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
19740
19741 2005-04-16  Simon Josefsson  <jas@extundo.com>
19742
19743         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
19744
19745 2005-04-15  Simon Josefsson  <jas@extundo.com>
19746
19747         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
19748
19749 2005-04-15  Simon Josefsson  <jas@extundo.com>
19750
19751         * gnulib-tool: Rename --symlink to --symbolic.
19752
19753 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
19754
19755         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
19756         symbolic links to files instead of copying/moving.  Add --aux-dir,
19757         specifying directory relative --dir where auxiliary build tools
19758         are placed.
19759
19760 2005-04-14  Bruno Haible  <bruno@clisp.org>
19761
19762         * modules/allocsa (License): Change to LGPL.
19763         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
19764
19765 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
19766
19767         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
19768         that "UTC +1 second" continues to work.  Problem reported
19769         by Dmitry V. Levin.
19770         (relunit_snumber): New rule.
19771         (relunit): Use it.
19772
19773 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
19774
19775         * lib/getdate.y (universal_time_zone_table): New constant.
19776         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
19777         universal_time_zone_table.
19778         (lookup_zone): Prefer universal_time_zone_table to
19779         local_time_zone_table, so that "GMT" time stamps are allowed in
19780         London during the summer.  Problem reported by Ian Abbott.
19781
19782 2005-04-12  Jim Meyering  <jim@meyering.net>
19783
19784         * lib/human.c (humblock): Set *options even when returning due to
19785         xstrtoumax conversion failure.  Thanks to a used-uninitialized
19786         warning from gcc-4.
19787
19788 2005-04-09  Jim Meyering  <jim@meyering.net>
19789
19790         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
19791         -Wuninitialized: initialize tm0.tm_year.
19792
19793 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
19794
19795         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
19796         count, since there's no maximum.  All uses changed.
19797         Add member dsts_seen.
19798         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
19799         not being INT_MAX.
19800         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
19801         Use pc_rels_seen to decide whther a date is absolute.
19802
19803         * lib/getdate.y (number): Don't overwrite year.
19804         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
19805         check.
19806
19807 2005-04-02  Simon Josefsson  <jas@extundo.com>
19808
19809         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
19810         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
19811
19812 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
19813
19814         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
19815         where no absolute path name can be longer than PATH_MAX.
19816
19817 2005-03-27  Jim Meyering  <jim@meyering.net>
19818
19819         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
19820
19821 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
19822
19823         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
19824         "one's complement" -> "ones' complement" in comment, as per Knuth.
19825         "value of type" -> "type or expression" in comment.
19826         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
19827
19828 2005-03-26  Jim Meyering  <jim@meyering.net>
19829
19830         Comment nits.
19831         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
19832         Correct typos: s/or/of/.
19833
19834 2005-03-26  Jim Meyering  <jim@meyering.net>
19835
19836         * modules/check-include-files: Move to ../ and rename to...
19837         * check-module: ...this.
19838
19839 2005-03-25  Jim Meyering  <jim@meyering.net>
19840
19841         * modules/xvasprintf (Files): Add xalloc.h.
19842
19843 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
19844
19845         * modules/gettext (Files): config/config.rpath ->
19846         build-aux/config.rpath
19847         * modules/iconv (Files): Likewise.
19848         Problem reported by Oskar Liljeblad.
19849
19850 2005-03-23  Jim Meyering  <jim@meyering.net>
19851
19852         * modules/check-include-files: New script to check for
19853         missing dependencies, multiple includes, etc.
19854
19855         * modules/c-strtold (Depends-on): Add xalloc.
19856         * modules/c-strtod (Depends-on): Add xalloc.
19857         * modules/hash (Depends-on): Add xalloc.
19858         (Files): Remove lib/xalloc.h.
19859
19860         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
19861         * modules/userspec (Files): Add lib/inttostr.h.
19862
19863 2005-03-23  Jim Meyering  <jim@meyering.net>
19864
19865         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
19866
19867 2005-03-22  Jim Meyering  <jim@meyering.net>
19868
19869         * modules/stat-macros: New module.
19870         * modules/canonicalize, modules/euidaccess, modules/file-type,
19871         * modules/filemode, modules/lchown, modules/makepath,
19872         * modules/rmdir, modules/stat: Depend on new stat-macros module
19873         rather than listing lib/stat-macros.h manually.
19874         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
19875
19876 2005-03-22  Jim Meyering  <jim@meyering.net>
19877
19878         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
19879
19880 2005-03-22  Bruno Haible  <bruno@clisp.org>
19881
19882         * config/srclist.txt: Replace target directory 'config' with
19883         'build-aux'.
19884         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
19885         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
19886         ../build-aux/.
19887
19888 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
19889
19890         * modules/chdir-long (Depends-on): Add mempcpy.
19891
19892         * modules/acl, modules/backupfile, modules/c-strtod,
19893         modules/c-strtold, modules/canon-host, modules/canonicalize,
19894         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
19895         modules/exclude, modules/exitfail, modules/file-type,
19896         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
19897         modules/getdate, modules/getline, modules/getpagesize,
19898         modules/getpass, modules/getugroups, modules/group-member,
19899         modules/hard-locale, modules/hash, modules/human, modules/idcache,
19900         modules/inttostr, modules/long-options, modules/makepath,
19901         modules/md5, modules/memcasecmp, modules/memcoll,
19902         modules/modechange, modules/mountlist, modules/path-concat,
19903         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
19904         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
19905         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
19906         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
19907         modules/strftime, modules/strndup, modules/strverscmp,
19908         modules/timespec, modules/unlocked-io, modules/userspec,
19909         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
19910         modules/yesno:
19911         Remove lib_SOURCES line from Makefile.am section, as this is now
19912         done automatically by the corresponding Autoconf macro.
19913
19914 2005-03-21  Jim Meyering  <jim@meyering.net>
19915
19916         Changes imported from coreutils.
19917
19918         * lib/cycle-check.c: Don't include xalloc.h.
19919
19920         * lib/path-concat.c: Don't include assert.h.
19921         (path_concat): Remove assertion that would have triggered
19922         for ABASE starting with more than one slash.
19923         Reported by Andreas Schwab.
19924
19925         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
19926         properly when ABASE is an absolute file name.
19927         Correct the description of this function.
19928         Include <assert.h>.
19929         Add an assertion and a test driver.
19930         This fixes a bug introduced on 2004-07-02.
19931         Andreas Schwab reported the resulting failure of cp --parents:
19932         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
19933
19934 2005-03-21  Jim Meyering  <jim@meyering.net>
19935
19936         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
19937         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
19938
19939 2005-03-21  Jim Meyering  <jim@meyering.net>
19940         and  Paul Eggert  <eggert@cs.ucla.edu>
19941
19942         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
19943         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
19944         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
19945         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
19946         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
19947         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
19948         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
19949         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
19950         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
19951         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
19952         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
19953         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
19954         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
19955         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
19956         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
19957         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
19958         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
19959         for these modules.
19960
19961 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
19962
19963         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
19964         (which shouldn't happen), generate nothing instead of returning 0
19965         immediately, so that nstrftime (NULL, ...) doesn't return 0.
19966
19967 2005-03-16  Bruno Haible  <bruno@clisp.org>
19968
19969         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
19970         HAVE_LONGLONG_64BIT.
19971
19972 2005-03-16  Bruno Haible  <bruno@clisp.org>
19973
19974         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
19975         HAVE_LONGLONG_64BIT.
19976
19977 2005-03-16  Bruno Haible  <bruno@clisp.org>
19978
19979         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
19980         HAVE_LONGLONG_64BIT.
19981
19982 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
19983
19984         * lib/strftime.c (my_strftime): Prepend space to format so that we can
19985         reliably distinguish strftime failure from empty output on POSIX
19986         hosts.
19987
19988 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
19989
19990         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
19991         (iconv_string): Don't guess a size-zero buffer, as that might cause
19992         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
19993         result would be 'too large', where 'too large' is (heuristically)
19994         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
19995         overflow concerns.  This will prevent some unwanted malloc failures
19996         when the inputs are very large.
19997
19998 2005-03-15  Karl Berry  <karl@gnu.org>
19999
20000         * config/srclist.txt (config.rpath): from gettext.
20001         * config/config.rpath: update.
20002
20003 2005-03-15  Bruno Haible  <bruno@clisp.org>
20004
20005         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
20006         to 'negate'.
20007
20008         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
20009         variable.
20010
20011         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
20012         results.
20013
20014 2005-03-14  Simon Josefsson  <jas@extundo.com>
20015
20016         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
20017         <fx@gnu.org>.
20018
20019 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
20020
20021         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
20022         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
20023         intprops.h.
20024         * lib/strtol.c: Likewise.
20025
20026 2005-03-14  Jim Meyering  <jim@meyering.net>
20027
20028         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
20029         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
20030         to be nonzero so that we (and caller) can detect the difference
20031         between a valid zero-length expansion and an error return, even
20032         when the underlying strftime fails before writing anything into
20033         that location.
20034
20035 2005-03-14  Bruno Haible  <bruno@clisp.org>
20036
20037         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
20038         Update from GNU gettext 0.14.3.
20039
20040 2005-03-10  Jim Meyering  <jim@meyering.net>
20041
20042         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
20043
20044 2005-03-10  Jim Meyering  <jim@meyering.net>
20045
20046         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
20047         so that this module works on systems without fchdir.
20048
20049 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
20050
20051         Factor int-properties macros into a single file, except for
20052         glibc-related files.
20053         * lib/intprops.h: New file.
20054         * lib/getloadavg.c: Include it instead of limits.h.
20055         (INT_STRLEN_BOUND): Remove.
20056         * lib/human.c: Include intprops.h.
20057         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
20058         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
20059         302/1000.
20060         * lib/inttostr.h: Include intprops.h instead of limits.h.
20061         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
20062         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
20063         for consistency with intprops.h.
20064         (time_t_is_integer, twos_complement_arithmetic): Use them.
20065         * lib/sig2str.h: Include <signal.h>, intprops.h.
20066         (INT_STRLEN_BOUND): Remove.
20067         * lib/strftime.c (TYPE_SIGNED): Remove.
20068         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
20069         * lib/strtol.c: Adjust comments to match intprops.h.
20070         * lib/userspec.c: Include intprops.h.
20071         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
20072         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
20073         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
20074         instead of rolling our own expressions.
20075         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
20076
20077         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
20078         instead of int.
20079         (my_strftime): Do not mishandle years close to INT_MAX, by doing
20080         the right thing even if adding 1900 would overflow.  Similarly
20081         for tm_mon + 1 and tm_yday + 1.
20082         Make %Y always equivalent to %C%y, and similarly for %G and %g.
20083         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
20084         (DO_SIGNED_NUMBER): New macro.
20085         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
20086
20087 2005-03-07  Bruno Haible  <bruno@clisp.org>
20088
20089         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
20090
20091 2005-03-07  Bruno Haible  <bruno@clisp.org>
20092
20093         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
20094
20095 2005-03-04  Derek R. Price  <derek@ximbiot.com>
20096
20097         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
20098         (func_import): Only replace files via --import when they have actually
20099         changed.
20100
20101 2005-03-03  Derek R. Price  <derek@ximbiot.com>
20102
20103         * m4/mmap-anon.m4: New file.
20104         * m4/pagealign_alloc.m4: New file.
20105
20106 2005-03-03  Derek R. Price  <derek@ximbiot.com>
20107             Bruno Haible  <bruno@clisp.org>
20108
20109         * modules/pagealign_alloc: New file.
20110         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
20111
20112 2005-03-03  Derek R. Price  <derek@ximbiot.com>
20113             Bruno Haible  <bruno@clisp.org>
20114
20115         * lib/pagealign_alloc.h: New file.
20116         * lib/pagealign_alloc.c: New file.
20117
20118 2005-03-03  Bruno Haible  <bruno@clisp.org>
20119
20120         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
20121         Use an all-permissive copyright notice, recommended by RMS.
20122
20123 2005-03-02  Bruno Haible  <bruno@clisp.org>
20124
20125         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
20126         of AIX, the replacement has to be done only after <string.h> is
20127         included, therefore not in config.h. stpncpy.h does the replacement,
20128         and stpncpy.c uses it.
20129
20130 2005-03-02  Bruno Haible  <bruno@clisp.org>
20131
20132         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
20133         stpncpy.c uses it.
20134
20135 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
20136
20137         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
20138         The workaround isn't strictly needed for POSIX conformance, and
20139         it's too much of a pain to configure and maintain.  We'll ask
20140         people to fix their kernels instead.
20141         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
20142         (NANOSLEEP_BUG_WORKAROUND): Remove.
20143         (xnanosleep): Remove the workaround.
20144
20145 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
20146
20147         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
20148         Reported by Derek Price.
20149         (Include): Add "timespec.h".
20150
20151         * modules/xnanosleep (Depends-on): Remove gethrxtime.
20152
20153 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
20154
20155         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
20156         to detect nanosleep bug.
20157
20158 2005-03-01  Bruno Haible  <bruno@clisp.org>
20159
20160         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
20161
20162 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
20163
20164         * modules/gethrxtime: New file.
20165         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
20166         (Depends-on): Add gethrxtime.
20167         (configure.ac): Add gl_XNANOSLEEP.
20168         (Makefile.am): Remove lib_SOURCES line.
20169
20170 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
20171
20172         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
20173         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
20174
20175 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
20176
20177         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
20178         * lib/timespec.h (gettime): Return void, since it always
20179         succeeds now.  All uses changed.
20180         * lib/gettime.c (gettime) Likewise.
20181         [HAVE_NANOTIME]: Prefer nanotime.
20182         Assume gettimeofday succeeds, as POSIX requires.
20183         Assime time () succeeds, since other code already does.
20184         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
20185         (timespec_subtract): Remove.
20186         (NANOSLEEP_BUG_WORKAROUND): New constant.
20187         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
20188         things considerably.  Use it only on GNU/Linux hosts, since the
20189         workaround shouldn't be needed elsewhere.
20190
20191 2005-02-24  Bruno Haible  <bruno@clisp.org>
20192
20193         * modules/gettext (Files): Add m4/glibc2.m4.
20194
20195 2005-02-24  Bruno Haible  <bruno@clisp.org>
20196
20197         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
20198         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
20199         * m4/progtest.m4:
20200         Update from GNU gettext 0.14.2.
20201         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
20202
20203 2005-02-24  Bruno Haible  <bruno@clisp.org>
20204
20205         * lib/localcharset.c: Update from GNU gettext 0.14.2.
20206         * lib/config.charset: Update from GNU gettext 0.14.2.
20207
20208 2005-02-24  Bruno Haible  <bruno@clisp.org>
20209
20210         * lib/gettext.h: Update from GNU gettext 0.14.2.
20211
20212 2005-02-23  Simon Josefsson  <jas@extundo.com>
20213
20214         * m4/iconvme.m4: New file.
20215
20216 2005-02-23  Jim Meyering  <jim@meyering.net>
20217
20218         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
20219         change.
20220         Thanks to Bruno Haible for catching it.
20221
20222 2005-02-22  Simon Josefsson  <jas@extundo.com>
20223
20224         * modules/iconvme: New file.
20225
20226         * MODULES.html.sh: Add iconvme.
20227
20228 2005-02-22  Simon Josefsson  <jas@extundo.com>
20229
20230         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
20231
20232 2005-02-22  Simon Josefsson  <jas@extundo.com>
20233
20234         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
20235
20236 2005-02-22  Jim Meyering  <jim@meyering.net>
20237
20238         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
20239         s/ifndef/ifdef/.
20240
20241 2005-02-20  Neil Conway  <neilc@samurai.com>
20242
20243         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
20244         returned by OSX/Darwin if the specified buffer is not large
20245         enough for the hostname.
20246
20247 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20248
20249         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
20250         pass it to _help, otherwise the latter coredumps trying to
20251         dereference state.root_argp.
20252
20253 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
20254
20255         * modules/chdir-long (Depends-on): Add memrchr.
20256         * modules/memrchr (Files): Add lib/memrchr.h.
20257         (Include): "memrchr.h".
20258
20259 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
20260
20261         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
20262
20263 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
20264
20265         * lib/memrchr.h: New file.
20266         * lib/chdir-long.c: Include it.
20267         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
20268         Don't bother including stddef.h.
20269
20270 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
20271
20272         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
20273         inclusion.
20274         Include <sys/types.h>, for dev_t.
20275         (ME_DUMMY, ME_REMOTE): Move from here....
20276         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
20277         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
20278         Dmitry V. Levin.
20279         Include mountlist.h first, to test the interface.
20280
20281 2005-01-29  Bruno Haible  <bruno@clisp.org>
20282
20283         * lib/progname.c (program_name): Initialize.
20284         Needed when linking statically on MacOS X.
20285
20286 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
20287
20288         Sync from coreutils.
20289         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
20290         (Depends-on): Add c-strtod.
20291         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
20292
20293 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
20294
20295         Sync from coreutils.
20296         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
20297
20298         Remove files that are specific to coreutils.
20299         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
20300
20301 2005-01-28  Bruno Haible  <bruno@clisp.org>
20302
20303         * modules/javacomp: New file.
20304         * MODULES.html.sh (Java): Add javacomp.
20305
20306 2005-01-28  Bruno Haible  <bruno@clisp.org>
20307
20308         * m4/javacomp.m4: New file, from GNU gettext.
20309
20310 2005-01-28  Bruno Haible  <bruno@clisp.org>
20311
20312         * lib/javacomp.sh.in: New file, from GNU gettext.
20313         * lib/javacomp.h: New file, from GNU gettext.
20314         * lib/javacomp.c: New file, from GNU gettext.
20315
20316 2005-01-26  Simon Josefsson  <jas@extundo.com>
20317
20318         * lib/gai_strerror.c: Use GPL in header.
20319
20320 2005-01-26  Bruno Haible  <bruno@clisp.org>
20321
20322         * modules/javaexec: New file.
20323         * MODULES.html.sh (Java): Add javaexec.
20324
20325 2005-01-26  Bruno Haible  <bruno@clisp.org>
20326
20327         * m4/javaexec.m4: New file, from GNU gettext.
20328
20329 2005-01-26  Bruno Haible  <bruno@clisp.org>
20330
20331         * lib/javaexec.sh.in: New file, from GNU gettext.
20332         * lib/javaexec.h: New file, from GNU gettext.
20333         * lib/javaexec.c: New file, from GNU gettext.
20334
20335 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20336
20337         * modules/lchown (Depends-on): Remove lchown.h
20338
20339 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20340
20341         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
20342         must be defined if the header file was not found, in order
20343         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
20344
20345 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20346
20347         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
20348         initializers for struct pentry_state.
20349         (__argp_error): Check return value of __asprintf
20350         (__argp_failure): Translate error message
20351
20352         * lib/argp-parse.c: Removed braces around the expansion of N_()
20353
20354 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20355
20356         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
20357         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
20358         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
20359         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
20360         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
20361         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
20362         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
20363         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
20364         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
20365         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
20366         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
20367         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
20368         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
20369         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
20370         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
20371         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
20372         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
20373         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
20374         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
20375         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
20376         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
20377         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
20378         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
20379         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
20380         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
20381         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
20382         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
20383         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
20384         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
20385         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
20386         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
20387         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
20388         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
20389         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
20390         xstrtol.m4, xstrtoumax.m4, yesno.m4:
20391         Use an all-permissive copyright notice, recommended by RMS.
20392
20393 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
20394
20395         * modules/chdir-long (Depends-on): Remove mempcpy.
20396
20397 2005-01-21  Jim Meyering  <jim@meyering.net>
20398
20399         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
20400         same value as for Solaris 9.
20401
20402         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
20403         component length.  This included changing the parameter to be
20404         of type `char *' rather than `char const *'.
20405         * lib/chdir-long.h (chdir_long): Update prototype.
20406
20407         * lib/openat.c (fdopendir, fstatat): New functions.
20408         * lib/openat.h: Include headers required for use of DIR and struct
20409         stat.
20410         [AT_SYMLINK_NOFOLLOW]: Define.
20411         (fdopendir, fstatat): Add prototypes.
20412
20413 2005-01-21  Bruno Haible  <bruno@clisp.org>
20414
20415         * modules/classpath: New file.
20416         * MODULES.html.sh (Java): Add classpath.
20417
20418 2005-01-21  Bruno Haible  <bruno@clisp.org>
20419
20420         * lib/classpath.h: New file, from GNU gettext.
20421         * lib/classpath.c: New file, from GNU gettext.
20422
20423 2005-01-20  Simon Josefsson  <jas@extundo.com>
20424
20425         * modules/version-etc-fsf: New file.
20426
20427 2005-01-20  Simon Josefsson  <jas@extundo.com>
20428
20429         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
20430         * lib/version-etc.c: Remove version_etc_copyright.
20431         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
20432         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
20433
20434 2005-01-20  Simon Josefsson  <jas@extundo.com>
20435
20436         * lib/base64.h (isbase64): Add.
20437
20438         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
20439         using a unsigned prototype, don't inline.
20440         (base64_decode): Use it.
20441
20442 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
20443
20444         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
20445         it.
20446
20447 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
20448
20449         * lib/save-cwd.c (save_cwd): Remove code to support the case
20450         where fchdir is missing or flaky.
20451
20452 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
20453
20454         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
20455
20456 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
20457
20458         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
20459         AC_LIBSOURCES now does this.
20460         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
20461         with new ullong_max module.
20462
20463 2005-01-19  Bruno Haible  <bruno@clisp.org>
20464
20465         * modules/sh-quote: New file.
20466         * MODULES.html.sh (Executing programs): Add sh-quote.
20467
20468 2005-01-19  Bruno Haible  <bruno@clisp.org>
20469
20470         * lib/sh-quote.h: New file, from GNU gettext.
20471         * lib/sh-quote.c: New file, from GNU gettext.
20472
20473 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
20474
20475         Merge from coreutils.
20476         * m4/ullong_max.m4: New file.
20477         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
20478         (gl_MACROS): Assume localeconv exists.
20479
20480 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
20481
20482         Merge changes from coreutils, as described below in several
20483         changelogs dated today.
20484
20485         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
20486         (O_DIRECTORY): Remove; not needed here, since "." must be
20487         a directory.  All uses removed.
20488         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
20489         universal on Suns, and we also need to test for IRIX.
20490         Revamp code to use 'if' rather than '#if'.
20491         Avoid unnecessary comparison of cwd->desc to 0.
20492
20493         * lib/utimens.c (futimens): Robustify the previous patch, by checking
20494         for known valid error numbers rather than observed invalid ones.
20495
20496 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
20497
20498         * modules/ullong_max: New file.
20499
20500         * modules/chdir-long, modules/openat: New files.
20501         * modules/save-cwd (Depends-on): Depend on chdir-long.
20502         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
20503
20504 2005-01-18  Jim Meyering  <jim@meyering.net>
20505
20506         Merge from coreutils.
20507         * m4/chdir-long.m4, m4/openat.m4: New files.
20508         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
20509         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
20510         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
20511         is sane and DOES follow symlinks.  Besides, testing 20 different
20512         systems found no broken chown implementations.
20513         Prompted by a change in rsync's copy of this macro.
20514         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
20515
20516         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
20517
20518         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
20519         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
20520         NULL-means-set-to-current-time semantics.
20521         Remove temporary file immediately, rather than waiting
20522         for configure's at-exit trap code to do it.
20523
20524 2005-01-18  Jim Meyering  <jim@meyering.net>
20525
20526         * lib/version-etc.c (version_etc_copyright): Update copyright date.
20527
20528         * lib/utimens.c (futimens): Account for the fact that futimes
20529         can also fail with errno == ENOSYS or errno == ENOENT.
20530         Patch from Dmitry V. Levin.
20531
20532         Change the name of the robust chdir function from chdir to chdir_long.
20533         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
20534         (restore_cwd): Use chdir_long, not chdir.
20535         * lib/chdir-long.c: Renamed from chdir.c.
20536         * lib/chdir-long.h: Renamed from chdir.h.
20537         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
20538         Hurd.
20539
20540 2005-01-18  Bruno Haible  <bruno@clisp.org>
20541
20542         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
20543         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
20544         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
20545         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
20546         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
20547         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
20548         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
20549         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
20550         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
20551         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
20552         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
20553         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
20554         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
20555         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
20556         Use an all-permissive copyright notice, recommended by RMS.
20557
20558 2005-01-18  Bob Proulx  <bob@proulx.com>
20559
20560         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
20561         simplify offsetof() macro construct to avoid compile failure with
20562         native HP-UX 11.0 ANSI C compiler.
20563
20564 2005-01-17  Bruno Haible  <bruno@clisp.org>
20565
20566         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
20567         redundant because stpncpy.m4 takes care of it.
20568
20569 2005-01-17  Bruno Haible  <bruno@clisp.org>
20570
20571         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
20572
20573 2005-01-17  Bruno Haible  <bruno@clisp.org>
20574
20575         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
20576         used.
20577
20578 2005-01-17  Bruno Haible  <bruno@clisp.org>
20579
20580         * lib/fwriteerror.h (fwriteerror): Change specification to include
20581         fclose.
20582         * lib/fwriteerror.c: Include <stdbool.h>.
20583         (fwriteerror): At the end, close the file stream. Record whether
20584         stdout was already closed.
20585
20586 2005-01-17  Bruno Haible  <bruno@clisp.org>
20587
20588         * lib/execute.c (environ): Declare if needed.
20589         * lib/pipe.c (environ): Likewise.
20590         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
20591
20592 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20593
20594         * modules/argp: Depend on vsnprintf
20595
20596 2005-01-10  Jim Meyering  <jim@meyering.net>
20597
20598         * modules/closeout (Depends-on): Add atexit.
20599
20600 2005-01-06  Bruno Haible  <bruno@clisp.org>
20601
20602         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
20603
20604 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
20605
20606         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
20607         definitions to be after all include files, to avoid collisions.
20608         Problem reported by Bob Proulx.
20609
20610 2005-01-04  Jim Meyering  <jim@meyering.net>
20611
20612         Changes imported from coreutils.
20613         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
20614         as the mkstemp template, use a temporary directory and an
20615         8.3-friendly template to avoid trouble on systems like DJGPP.
20616         Reported by Juan M. Guerrero via Stepan Kasal.
20617         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
20618         close. Remove the temporary directory right away, rather than waiting
20619         for configure's at-exit trap code to do it.
20620         Suggestion from Stepan Kasal.
20621
20622 2005-01-01  Simon Josefsson  <jas@extundo.com>
20623
20624         * gnulib-tool: Print #include directives when --import'ing.
20625
20626 2004-12-28  Simon Josefsson  <jas@extundo.com>
20627
20628         * tests/test-base64.c: Include required header files.  Remove
20629         unused variables.
20630
20631 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
20632
20633         * modules/error (Depends-on): Remove gettext.
20634
20635 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
20636
20637         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
20638         not needed.  This removes a dependency on the gettext module.
20639         [defined _LIBC]: Do not include <libintl.h>; not needed.
20640
20641 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
20642
20643         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
20644         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
20645
20646 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
20647
20648         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
20649         HAVE_DECL_STRTOLD.
20650
20651 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
20652
20653         * modules/getdate (Depends-on): Remove alloca-opt.
20654
20655 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
20656
20657         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
20658
20659 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
20660
20661         * lib/argp-parse.c: Include <stddef.h>.
20662         (alignof, alignto): New macros.
20663         (parser_init): Don't assume that void * is aligned sufficiently
20664         for struct option.
20665
20666         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
20667         need to extend the stack.
20668         (YYINITDEPTH): New macro, so that the initial stack isn't overly
20669         large.
20670
20671 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20672
20673         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
20674
20675 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
20676
20677         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
20678         (2004-10-24) change.  Apparently this was a false alarm.
20679
20680         * modules/getdate: Depend on alloca-opt, not alloca.
20681
20682 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
20683
20684         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
20685         Remove now-obsolete comment about AIX.
20686         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
20687         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
20688         (YYMAXDEPTH): New macro.
20689
20690 2004-12-18  Simon Josefsson  <jas@extundo.com>
20691
20692         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
20693
20694 2004-12-18  Bruno Haible  <bruno@clisp.org>
20695
20696         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
20697
20698 2004-12-18  Bruno Haible  <bruno@clisp.org>
20699
20700         * lib/fatal-signal.c (fatal_signals): Make non-const.
20701         (init_fatal_signals): New function.
20702         (uninstall_handlers, install_handlers): Ignore signals that were set to
20703         SIG_IGN.
20704         (at_fatal_signal): Call init_fatal_signals.
20705         (init_fatal_signal_set): Likewise. Ignore signals that were set to
20706         SIG_IGN.
20707         Reported by Paul Eggert.
20708
20709 2004-12-18  Bruno Haible  <bruno@clisp.org>
20710
20711         * doc/alloca.texi: New file.
20712         * doc/alloca-opt.texi: New file.
20713
20714 2004-12-17  Jim Meyering  <jim@meyering.net>
20715
20716         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
20717         Otherwise, install-sh could exit with improper exit status when
20718         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
20719
20720 2004-12-16  Simon Josefsson  <jas@extundo.com>
20721
20722         * tests/test-base64.c: Add license.
20723
20724 2004-12-15  Stepan Kasal  <address@hidden>
20725
20726         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
20727
20728 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
20729
20730         * modules/getcwd (Files): Add m4/d-ino.m4.
20731         Suggested by Mark D. Baushke.
20732
20733 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
20734
20735         * lib/getdate.y (textint): New member "negative".
20736         (time_zone_hhmm): New function.
20737         Expect 14 shift-reduce conflicts, not 13.
20738         (o_colon_minutes): New rule.
20739         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
20740         (yylex): Set the "negative" member of signed numbers.
20741
20742 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
20743
20744         * doc/getdate.texi (Time of day items, Time zone items):
20745         Describe new formats +00:00, UTC+00:00.
20746
20747 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
20748
20749         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
20750         spurious "-l"s.  Problem reported by Stepan Kasal.
20751
20752 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
20753
20754         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
20755         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
20756
20757 2004-12-04  Simon Josefsson  <jas@extundo.com>
20758
20759         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
20760         Vandoorselaere <yoann@prelude-ids.org>.
20761
20762 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
20763
20764         Changes imported from coreutils.
20765         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
20766         exist.
20767         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
20768
20769 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
20770
20771         Changes imported from coreutils.
20772         * lib/hard-locale.c: Assume <locale.h> exists.
20773         Include "strdup.h".
20774         (GLIBC_VERSION): New macro.
20775         (hard_locale): Assume setlocale exists.
20776         Rewrite to avoid #ifdef.
20777         Use strdup rather than malloc + strcpy.
20778         * lib/human.c: Assume <locale.h> exists.
20779         (human_readable): Assume localeconv exists.
20780
20781 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
20782
20783         * modules/hard-locale (Depends-on): Add strdup.
20784
20785 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
20786
20787         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
20788         convert T2, not T.  (Imported from libc.)
20789
20790 2004-11-30  Simon Josefsson  <jas@extundo.com>
20791
20792         * modules/restrict (License): Change to LGPL.
20793
20794 2004-11-30  Simon Josefsson  <jas@extundo.com>
20795
20796         * m4/restrict.m4: Add copyright and copying conditions.
20797
20798 2004-11-30  Simon Josefsson  <jas@extundo.com>
20799
20800         * m4/base64.m4: New file.
20801
20802 2004-11-30  Simon Josefsson  <jas@extundo.com>
20803
20804         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
20805         base64.
20806
20807         * tests/test-base64.c: New file.
20808
20809         * modules/base64: New file.
20810
20811 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
20812
20813         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
20814         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
20815
20816         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
20817
20818 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
20819
20820         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
20821         (__getcwd.c): Don't restore errno; glibc doesn't.
20822         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
20823         first, falling back to our code only if its results look suspicious.
20824         Ensure that the resulting buffer is only as large as necessary.
20825
20826         * lib/readutmp.c: Include readutmp.h first.
20827         Include <errno.h>, since readutmp.h no longer does that.
20828         * lib/readutmp.h: Don't include <errno.h>,
20829         <sys/param.h>, <time.h>; not needed to establish interface.
20830         (errno): Remove decl.
20831         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
20832         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
20833         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
20834
20835 2004-11-28  Simon Josefsson  <jas@extundo.com>
20836
20837         * lib/base64.h, base64.c: New file.
20838
20839 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
20840
20841         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
20842
20843 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
20844
20845         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
20846         (Depends-on): Remove pathmax, same.  Add mempcpy.
20847         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
20848         (Makefile.am): Append getcwd.h to lib_SOURCES.
20849         (Include): Add getcwd.h.
20850         (Maintainer): Change from Jim Meyering to "all, glibc",
20851         since getdate now uses intended-for-glibc code.
20852         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
20853         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
20854
20855 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
20856
20857         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
20858         HP's ANSI C compiler.
20859         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
20860         Declaring int functions causes warnings on some modern systems and
20861         shouldn't be needed to compile on ancient ones.
20862         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
20863         defined.
20864
20865         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
20866         with the following changes.
20867         (__set_errno): Parenthesize properly.
20868         Include <stdbool.h>.
20869         (MIN, MAX, MATCHING_INO): New macros.
20870         (__getcwd): Define with prototype, not K&R form.
20871         Use heuristics to allocate default buffer on stack if possible.
20872         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
20873         behavior, and to avoid the PATH_MAX limit when computing
20874         ../../../../...
20875         Use MATCHING_INO to compare inode number to file.
20876         Check for arithmetic overflow in size calculations.
20877         Fix bug in reallocation of dot array that caused getcwd to fail
20878         on directories nested deeper than 75.
20879         Be more careful about saving errno on error.
20880         Do not use realloc; use only free+malloc, as this is a bit
20881         more flexible and avoids a needless copy operation.
20882         Do not inspect st_dev and st_ino for symbolic links; POSIX
20883         doesn't specify the latter.
20884         Check for closedir errors.
20885         Avoid needless casts.
20886         Use "#ifdef weak_alias" around weak_alias, to be like other
20887         glibc code.
20888         The following changes to getcwd.c have effect only when used in
20889         gnulib; they have no effect inside glibc proper.
20890         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
20891         as alloca isn't used.
20892         (alloca, __alloca): Likewise.
20893         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
20894         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
20895         unconditionally, as gnulib assumes C89 or better.
20896         Do not include <sys/param.h>.
20897         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
20898         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
20899         better.
20900         (NULL) [!defined NULL]: Remove; we assume C89 or better.
20901         Include <dirent.h> in a way that is compatible with modern Autoconf.
20902         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
20903         New macros, if not already defined.
20904         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
20905         Use "_LIBC", not "defined _LIBC", for consistency.
20906         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
20907         a mempcpy module.
20908         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
20909         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
20910         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
20911         credit only to Jim Meyering and adjust the copyright dates.
20912         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
20913         <stdlib.h>, <unistd.h>, "pathmax.h".
20914         Instead, include "xgetcwd.h" (first) and "getcwd.h".
20915         (INITIAL_BUFFER_SIZE): Remove.
20916         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
20917
20918 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
20919
20920         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
20921         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
20922         Use the _ONCE methods, for efficiency.
20923         Check for fcntl.h.  In test program, include <errno.h>
20924         and <fcntl.h> if available.  Remove old K&R cruft from
20925         test program.  Check for common errors in GNU/Linux,
20926         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
20927         don't do AC_LIBOBJ, as that's getcwd.m4's job.
20928         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
20929         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
20930         name accordingly.
20931         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
20932         accommodate new getcwd.c.
20933         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
20934         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
20935         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
20936         that's all we need now.
20937
20938 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20939
20940         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
20941         argp-parse.c depends on getopt internals, that means we should
20942         always use our getopt, to be on the safe side.
20943         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
20944         order not to spoil the result of an eventual previous invocation
20945         of gl_GETOPT_SUBSTITUTE.
20946
20947 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20948
20949         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
20950         redefinition warnings. To avoid them, include the defines
20951         in `#if !defined __need_getopt ... #endif'. The only place
20952         where __getopt_argv_const is used is in definitions
20953         of getopt_long and getopt_long_only below, which are as well
20954         protected by `#ifndef __need_getopt'.
20955         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
20956         __need_getopt after including <stdio.h> and <unistd.h> These
20957         headers might have defined it.
20958
20959 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
20960
20961         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
20962
20963 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
20964
20965         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
20966         (futimens): New function, which uses futimes if available.
20967         (futimens, utimens): Support timespec==NULL, with same semantics
20968         as utime and utimens.
20969         * lib/utimens.h (futimens): New decl.
20970
20971 2004-11-23  Jim Meyering  <jim@meyering.net>
20972
20973         * lib/getopt_.h: Remove trailing blanks.
20974
20975 2004-11-23  Jim Meyering  <jim@meyering.net>
20976
20977         * lib/__fpending.c: Add comment.
20978
20979 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
20980
20981         * modules/canonicalize (Depends-on): Add xreadlink.
20982         Problem reported by James Youngman.
20983
20984 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
20985
20986         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
20987         New macros.
20988         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
20989         optopt): Use them instead of invoking ## directly; otherwise, the
20990         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
20991
20992 2004-11-19  Bruno Haible  <bruno@clisp.org>
20993
20994         * lib/strtok_r.c: Move comments from here...
20995         * lib/strtok_r.h: ... to here.
20996
20997 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
20998
20999         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
21000         implementations that mishandle size_t overflow.
21001
21002 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
21003
21004         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
21005         might fail.  Problem reported by Yoann Vandoorselaere.
21006         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
21007         implementations that mishandle size_t overflow.
21008
21009 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
21010
21011         * modules/canon-host (Depends-on): Add strdup.
21012
21013 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
21014
21015         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
21016
21017 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
21018
21019         * lib/canon-host.c: Include "strdup.h".
21020         (canon_host): Use getaddrinfo if available, so that IPv6 works.
21021         Use strdup instead of malloc/strcpy to duplicate strings.
21022
21023         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
21024         (human_space_before_unit): New constant.
21025         * lib/human.c (human_readable): Support it.
21026
21027         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
21028         (xgetcwd): Set errno correctly when failing.
21029         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
21030         the failure is actually due to a PATH_MAX problem.
21031
21032         Further getopt changes to make it more likely that glibc will
21033         buy the changes back.
21034         * lib/getopt.c (POSIXLY_CORRECT): New constant.
21035         (getopt): Use it, so to preserve glibc semantic
21036         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
21037         when compiling for libc.
21038         * lib/getopt_.h (__getopt_argv_const): Bring it back.
21039         (getopt_long, getopt_long_only): Use it.
21040
21041         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
21042         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
21043         (getopt): Argv is now char * const *, as per standard.
21044         (_getopt_internal_r, _getopt_internal): Argv is now char **,
21045         not char *__getopt_argv_const *.
21046         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
21047         _getopt_long_only_r): Likewise.
21048         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
21049         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
21050         _getopt_long_r, _getopt_long_only_r): Likewise.
21051         * lib/getopt_.h (__getopt_argv_const): Remove.
21052         (getopt): Argv is now char * const *, as per standard.
21053
21054         * lib/getdate.y (tORDINAL): New token.
21055         (day, relunit): Allow it for relative times.
21056         (relative_time_table): Use tORDINAL for ordinals.
21057
21058 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
21059
21060         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
21061         Document that "second" isn't allowed as an ordinal number.
21062
21063 2004-11-16  Jim Meyering  <jim@meyering.net>
21064
21065         * modules/closeout (Depends-on): Add fpending.
21066
21067 2004-11-15  Jim Meyering  <jim@meyering.net>
21068
21069         * lib/closeout.c: Include "__fpending.h" once again.
21070         Include <stdbool.h>.
21071         (close_stdout): Don't fail just because stdout was closed initially,
21072         since some programs don't write to stdout in the normal course of
21073         operation (other than --version and --help), and we don't want this
21074         function to make e.g. `touch file >&-' fail.
21075         But do fail if it was closed and someone has tried to write to it.
21076         E.g., `printf foo >&-' must fail.
21077
21078 2004-11-13  Jim Meyering  <jim@meyering.net>
21079
21080         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
21081
21082 2004-11-12  Simon Josefsson  <jas@extundo.com>
21083
21084         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
21085         small doc fix is still pending.
21086
21087 2004-11-11  Simon Josefsson  <jas@extundo.com>
21088
21089         * modules/strtok_r: New file.
21090
21091         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21092         strtok_r.
21093
21094 2004-11-11  Simon Josefsson  <jas@extundo.com>
21095
21096         * m4/strtok_r.m4: New file.
21097
21098         * m4/getopt.m4: Replace opterr.
21099
21100 2004-11-11  Simon Josefsson  <jas@extundo.com>
21101
21102         * lib/strtok_r.h, strtok_r.c: New file.
21103
21104 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
21105
21106         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
21107         of replacing opterr, getopt, etc.  This should handle the
21108         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
21109
21110 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
21111
21112         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
21113         we can stop lying to compilers about the constness of argv when we
21114         are compiled outside glibc.
21115         (getopt, getopt_long, getopt_long_only): Use it.
21116         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
21117         _getopt_internal, getopt): Likewise.
21118         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
21119         _getopt_long_only_r): Likewise.
21120         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
21121         _getopt_long_r, _getopt_long_only_r): Likewise.
21122
21123         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
21124         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
21125         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
21126         the other external symbols.
21127         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
21128         declaration, since the above renaming now works around collisions.
21129
21130 2004-11-11  Jim Meyering  <jim@meyering.net>
21131
21132         * lib/linebreak.c: Remove trailing blanks.
21133         * lib/alloca_.h: Likewise.
21134         * lib/acosl.c: Likewise.
21135         * lib/euidaccess.c: Likewise.
21136         * lib/allocsa.h: Likewise.
21137
21138 2004-11-10  Simon Josefsson  <jas@extundo.com>
21139
21140         * m4/getaddrinfo.m4: New file.
21141
21142 2004-11-10  Simon Josefsson  <jas@extundo.com>
21143
21144         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
21145
21146 2004-11-10  Simon Josefsson  <jas@extundo.com>
21147
21148         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21149         getaddrinfo.
21150
21151         * modules/getaddrinfo: New file.
21152
21153 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
21154
21155         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
21156
21157 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
21158
21159         * lib/mktime.c (SHR): New macro, which is a portable
21160         substitute for >> that should work even on Crays.
21161         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
21162         Problem reported by Mark D. Baushke in
21163         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
21164         * lib/getdate.y (SHR): Likewise.
21165         (tm_diff): Use it.
21166         * lib/strftime.c (SHR): Likewise.
21167         (tm_diff): Use it.
21168         * lib/quotearg.c (struct quoting_options): Use unsigned int for
21169         quote_these_too, so that right shifts are well defined.  All uses
21170         changed.
21171
21172 2004-11-10  Jim Meyering  <jim@meyering.net>
21173
21174         Ensure that no close failure goes unreported.
21175         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
21176         return early when it seems there's nothing to flush.
21177         Don't include __fpending.h.
21178
21179 2004-11-10  Jim Meyering  <jim@meyering.net>
21180
21181         * modules/closeout (Depends-on): Remove fpending.
21182
21183 2004-11-10  Jim Meyering  <jim@meyering.net>
21184
21185         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
21186
21187 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
21188
21189         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
21190         gl_FUNC_STRFTIME.
21191         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
21192         and AC_REQUIRE when possible, to avoid duplicate checks.
21193         Check for <wchar.h>.
21194
21195 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
21196
21197         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
21198
21199 2004-11-09  Bruno Haible  <bruno@clisp.org>
21200
21201         * m4/sockpfaf.m4: New file.
21202
21203 2004-11-05  Bruno Haible  <bruno@clisp.org>
21204
21205         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
21206         Reported by Mark D. Baushke <mdb@cvshome.org>.
21207
21208 2004-11-04  Bruno Haible  <bruno@clisp.org>
21209
21210         2004-09-11  Bruno Haible  <bruno@clisp.org>
21211                 * allocsa.valgrind: New file.
21212         2004-02-06  Bruno Haible  <bruno@clisp.org>
21213                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
21214                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
21215                 Reported by Christopher Seip <chris.seip@hp.com>.
21216
21217 2004-11-04  Bruno Haible  <bruno@clisp.org>
21218
21219         * modules/allocsa (Files): Add lib/allocsa.valgrind.
21220         (Makefile.am): Distribute it.
21221
21222 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
21223
21224         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
21225         with errno == ERANGE if the buffer is too small.
21226         Problem reported by Mark D. Baushke.
21227
21228 2004-11-03  Albert Chin  <china@thewrittenword.com>
21229             Paul Eggert  <eggert@cs.ucla.edu>
21230
21231         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
21232         equivalent, substitute $ac_type for equivalent type rather than
21233         blindly using uint32_t *always* which won't work if uint32_t is not
21234         available.  Define _UINT32_T to work around typedef of uint32_t if
21235         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
21236         2.5.1.
21237
21238 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
21239
21240         * m4/jm-macros.m4: Sync from coreutils.
21241         (gl_MACROS): Check for mbrlen, for pathchk.
21242         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
21243
21244 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
21245
21246         * lib/xreadlink.c (MAXSIZE): New macro.
21247         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
21248         size does not exceed MAXSIZE.  Avoid cast.
21249         As suggested by Mark D. Baushke in
21250         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
21251         if readlink fails with buffer size just under MAXSIZE, try again
21252         with MAXSIZE.
21253
21254 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
21255
21256         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
21257
21258 2004-11-02  Derek R. Price  <derek@ximbiot.com>
21259         and  Paul Eggert  <eggert@cs.ucla.edu>
21260
21261         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
21262         (get_date): Overparenthesize to avoid GCC warning.
21263
21264 2004-11-02  Bruno Haible  <bruno@clisp.org>
21265
21266         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
21267         returns void.
21268
21269 2004-11-02  Bruno Haible  <bruno@clisp.org>
21270
21271         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
21272         function returns void.
21273
21274 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
21275
21276         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
21277         fflush_unlocked, flockfile, funlockfile, funlockfile,
21278         fputs_unlocked, putc_unlocked.
21279
21280 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
21281
21282         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
21283         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
21284         already declared.
21285
21286 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
21287
21288         * modules/getdate (Files): Add doc/getdate.texi.
21289         (Depends-on): Add setenv, xalloc.
21290
21291 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
21292
21293         * lib/getdate.y: Add support for TZ="foo" within a date string.
21294         Fix some bugs near time_t boundaries.  Reject dates with
21295         out-of-range components, e.g., "Sept 31".
21296         Include <stdlib.h>, "setenv.h", "xalloc.h".
21297         (ISDIGIT_LOCALE): Remove; unused.
21298         Note that the TZ and time functions used here are not reentrant.
21299         (mktime_ok, get_tz): New functions.
21300         (TZBUFSIZE): New constant.
21301         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
21302         This requires that we sometimes generate our own TZ="XXX..." setting.
21303
21304 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
21305
21306         * doc/getdate.texi: New file, from coreutils with modifications for
21307         the new TZ parsing.
21308
21309 2004-10-27  Derek R. Price  <derek@ximbiot.com>
21310
21311         * lib/mktime.c (not_equal_tm): Remove redundant check.
21312
21313 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
21314
21315         * modules/regex (lib_SOURCES): Add regex.c.
21316         Reported by James Youngman in
21317         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
21318
21319 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
21320
21321         * lib/getdate.y: Use Bison 1.875 features, and some minor
21322         code cleanups.  This change does not affect semantics.
21323         Don't include <stdlib.h>; no longer needed.
21324         Don't include unlocked-io.h; only the "#if TEST" code uses
21325         stdio, and performance isn't crucial there.
21326         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
21327         Bison 1.875 features as described below.
21328         All uses of "PC." replaced by "pc->".
21329         (YYSTYPE): Add a forward declaration.
21330         (yylex, yyerror): Use full prototypes in forward decls.
21331         Use "%pure-parser" rather than obsolescent "%pure_parser".
21332         Use %parse-param and %lex-param instead of obsolescent
21333         YYPARSE_PARAM and YYLEX_PARAM.
21334         (meridian_table, month_and_day_table, time_units_table,
21335         relative_time_table, time_zone_table, military_table,
21336         lookup_zone, lookup_word, get_date):
21337         Use NULL instead of 0 where appropriate.
21338         (to_hour): Avoid abort (), to avoid a dependency on
21339         stdlib.h.
21340         (yyerror, yylex): Now accepts parser_control * arg.
21341         (main) [TEST]: Use '\0' rather than 0 for char.
21342
21343 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
21344
21345         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
21346
21347 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
21348
21349         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
21350         It's now the caller's responsibility to handle the case where
21351         !HAVE_GETPAGESIZE && !defined getpagesize.
21352
21353         * lib/mktime.c (leapyear): Arg is long int, not int.
21354
21355 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
21356
21357         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
21358
21359 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
21360
21361         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
21362         missing.  Problem reported by James Youngman.
21363
21364 2004-10-16  Simon Josefsson  <jas@extundo.com>
21365
21366         * gnulib-tool: Fix comments.  Fix parse problem.
21367         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
21368
21369 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
21370
21371         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
21372         implementation of getopt_long.  Problem reported by Alexander Taler in:
21373         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
21374
21375 2004-10-15  Bruno Haible  <bruno@clisp.org>
21376
21377         * gnulib-tool: Untabify. Initialize supplied_libname.
21378         (func_usage): More homogenous output.
21379         (func_modules_transitive_closure, func_modules_to_filelist,
21380         func_emit_lib_Makefile_am): New functions.
21381         (func_import): New function, extracted from big case statement. Use
21382         func_get_license, func_modules_transitive_closure,
21383         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
21384         opt_lgpl. Don't use test -a, as it's not portable.
21385         (func_create_testdir): Use func_modules_transitive_closure,
21386         func_modules_to_filelist, func_emit_lib_Makefile_am.
21387
21388 2004-10-15  Bruno Haible  <bruno@clisp.org>
21389
21390         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
21391
21392 2004-10-15  Bruno Haible  <bruno@clisp.org>
21393
21394         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
21395         the portions belonging to each module.
21396         Suggested by Derek Robert Price <derek@ximbiot.com>.
21397
21398 2004-10-12  Simon Josefsson  <jas@extundo.com>
21399
21400         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
21401         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
21402         to real functions.
21403
21404 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21405
21406         * modules/vsnprintf: New file.
21407
21408 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21409
21410         * m4/vsnprintf.m4: New file.
21411
21412 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21413
21414         * lib/vsnprintf.h: New file.
21415         * lib/vsnprintf.c: New file.
21416
21417 2004-10-11  Bruno Haible  <bruno@clisp.org>
21418
21419         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
21420         vsnprintf.
21421
21422 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
21423
21424         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
21425
21426 2004-10-07  Bruno Haible  <bruno@clisp.org>
21427
21428         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
21429         fits into the provided buffer.
21430
21431 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
21432
21433         * lib/diacrit.c, diacrit.h: Add GPL notice.
21434
21435         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
21436         notice.
21437         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
21438         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
21439         This avoids a potential constant-folding bug.
21440
21441 2004-10-05  Bruno Haible  <bruno@clisp.org>
21442
21443         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
21444         for the declaration of strsep.
21445
21446 2004-10-05  Bruno Haible  <bruno@clisp.org>
21447
21448         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
21449
21450 2004-10-04  Simon Josefsson  <jas@extundo.com>
21451
21452         * modules/memmem: New file.
21453         * tests/test-memmem.c: New file.
21454         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
21455
21456 2004-10-04  Simon Josefsson  <jas@extundo.com>
21457
21458         * m4/memmem.m4: New file.
21459
21460 2004-10-04  Simon Josefsson  <jas@extundo.com>
21461
21462         * lib/memmem.h: New file.
21463         * lib/memmem.c: New file, taken from glibc.
21464
21465 2004-10-04  Simon Josefsson  <jas@extundo.com>
21466
21467         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
21468         '#ifdef USE_UNLOCKED_IO'.
21469
21470 2004-10-04  Simon Josefsson  <jas@extundo.com>
21471
21472         * config/srclist.txt: Add memmem from glibc.
21473
21474 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
21475
21476         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
21477
21478         * modules/argmatch, modules/argp, modules/closeout, modules/error,
21479         modules/exclude, modules/getdate, modules/getline,
21480         modules/getndelim2, modules/getpass, modules/getpass-gnu,
21481         modules/getusershell, modules/linebuffer, modules/md5,
21482         modules/mountlist, modules/posixtm, modules/readtokens,
21483         modules/readutmp, modules/regex, modules/sha1,
21484         modules/version-etc, modules/yesno:
21485         Remove dependency on unlocked-io.
21486
21487 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
21488
21489         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
21490
21491         * m4/unlocked-io.m4: Add copyright notice.
21492         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
21493
21494 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
21495
21496         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
21497         * lib/xmalloc.c (xmemdup): Likewise.
21498         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
21499         XFREE): Remove these long-obsolescent macros.
21500         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
21501         * lib/xstrdup.c: Remove.
21502
21503         * lib/regex.c (re_comp): Cast gettext return value to char *,
21504         Problem reported by Martin Neitzel via Mark D. Baushke.
21505
21506 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
21507
21508         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
21509         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
21510         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
21511         regex.c, sha1.c, version-etc.c, yesno.c:
21512         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
21513         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
21514         the includer's responsibility.
21515
21516         Sync from coreutils.
21517
21518         * lib/modechange.c (mode_compile): Don't decrement a pointer that
21519         points to the start of a string, as the C Standard says the
21520         resulting behavior is undefined.
21521
21522         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
21523         simple -> simple_backups, numbered_existing ->
21524         numbered_existing_backups, numbered -> numbered_backups
21525         to avoid shadowing problems.  All uses changed.
21526         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
21527         * lib/backupfile.c (check_extension, numbered_backup):
21528         Rename locals to avoid shadowing 'basename'.
21529         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
21530         once.
21531
21532         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
21533         * lib/.cvsignore: Add getopt.h.
21534
21535 2004-10-04  Bruno Haible  <bruno@clisp.org>
21536
21537         * modules/README: New file.
21538         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
21539         not a module.
21540
21541 2004-10-02  Jim Meyering  <jim@meyering.net>
21542
21543         * lib/dirfd.h, getpagesize.h: Add copyright notice.
21544
21545 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21546
21547         * modules/strsep: New file.
21548
21549 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21550
21551         * m4/strsep.m4: New file.
21552
21553 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21554
21555         * lib/strsep.h: New file.
21556         * lib/strsep.c: New file.
21557
21558 2004-10-01  Simon Josefsson  <jas@extundo.com>
21559
21560         * lib/snprintf.c (snprintf): Handle size==0.
21561
21562 2004-10-01  Simon Josefsson  <jas@extundo.com>
21563             Bruno Haible  <bruno@clisp.org>
21564
21565         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
21566         (snprintf): Declare 'args'.
21567
21568 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
21569
21570         * lib/snprintf.c: Remove comments as to why each header is needed.
21571
21572 2004-10-01  Bruno Haible  <bruno@clisp.org>
21573
21574         * MODULES.html.sh: Add strsep.
21575
21576 2004-09-30  Simon Josefsson  <jas@extundo.com>
21577
21578         * modules/snprintf: New file.
21579
21580 2004-09-30  Simon Josefsson  <jas@extundo.com>
21581
21582         * m4/snprintf.m4: New file.
21583
21584 2004-09-30  Simon Josefsson  <jas@extundo.com>
21585
21586         * lib/snprintf.h, lib/snprintf.c: New files.
21587
21588 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
21589
21590         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
21591         (hol_entry_help): Never translate an empty string.
21592         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
21593         * lib/argp.h (OPTION_NO_TRANS): New option.
21594
21595 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
21596
21597         * modules/argp (Maintainer): Replace Simon Josefsson
21598         by Sergey Poznyakoff.
21599
21600 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
21601
21602         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
21603         changes merged back into glibc.
21604
21605 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
21606
21607         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
21608
21609 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
21610
21611         * lib/xvasprintf.c: Include xalloc.h.
21612         (xvasprintf): Use xalloc_die, not xmalloc_die.
21613
21614 2004-09-29  Bruno Haible  <bruno@clisp.org>
21615
21616         * modules/alloca-opt: New file, derived from modules/alloca.
21617         * modules/allocsa: Depend on alloca-opt instead of alloca.
21618         * modules/setenv: Likewise.
21619         * modules/vasnprintf: Likewise.
21620         * MODULES.html.sh: Add alloca-opt.
21621
21622 2004-09-28  Simon Josefsson  <jas@extundo.com>
21623
21624         * gnulib-tool: New parameter --lgpl, to asseert that modules are
21625         LGPL, and to replace license template from GPL to LGPL.
21626
21627 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
21628
21629         * modules/dummy: Change license to LGPL.
21630
21631 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
21632
21633         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
21634
21635 2004-09-24  Simon Josefsson  <jas@extundo.com>
21636
21637         * modules/minmax (License): Change from GPL to LGPL.
21638
21639 2004-09-23  Simon Josefsson  <jas@extundo.com>
21640
21641         * gnulib-tool (--import): Typo.
21642
21643 2004-09-23  Simon Josefsson  <jas@extundo.com>
21644
21645         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
21646
21647 2004-09-22  Bruno Haible  <bruno@clisp.org>
21648
21649         * modules/*: Add 'License' field.
21650         * gnulib-tool: Accept --extract-license option.
21651         (func_get_license): New function.
21652
21653 2004-09-21  Bruno Haible  <bruno@clisp.org>
21654
21655         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
21656         Reported by Simon Josefsson.
21657
21658 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
21659
21660         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
21661         gl_AC_TYPE_LONG_LONG.
21662
21663 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
21664
21665         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
21666
21667 2004-09-18  Simon Josefsson  <jas@extundo.com>
21668         and  Paul Eggert  <eggert@cs.ucla.edu>
21669
21670         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
21671         calls with autoreconf.  Define GL_LIB.
21672
21673 2004-09-14  Karl Berry  <karl@gnu.org>
21674
21675         * config/srclist.txt: unsync setenv.c, sigh.
21676
21677 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
21678
21679         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
21680         Problem reported by Bruno Haible in:
21681         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
21682
21683 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
21684
21685         * config/srclist.txt: Comment out argp-pvh.c.
21686
21687 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
21688
21689         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
21690         in case some system header has #define'd it.  Problem reported by
21691         Soeren D. Schulze in
21692         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
21693
21694 2004-09-09  Karl Berry  <karl@gnu.org>
21695
21696         * regex.[ch]: delete from the root.  These were supposed to be
21697                 synced with emacs cvs, but this has not happened for about
21698                 a year, and anyway nothing else uses emacs regex.[ch].
21699                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
21700                 lib/regex[.ch] is untouched.
21701
21702 2004-09-09  Bruno Haible  <bruno@clisp.org>
21703
21704         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
21705
21706 2004-09-09  Bruno Haible  <bruno@clisp.org>
21707
21708         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
21709         modifications.
21710         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
21711
21712 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
21713
21714         * modules/xvasprintf: New file.
21715         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
21716
21717 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
21718
21719         * lib/xvasprintf.h: New file.
21720         * lib/xvasprintf.c: New file.
21721         * lib/xasprintf.c: New file.
21722
21723 2004-09-08  Bruno Haible  <bruno@clisp.org>
21724
21725         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
21726
21727 2004-09-08  Bruno Haible  <bruno@clisp.org>
21728
21729         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
21730         length is > INT_MAX.
21731         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
21732         more.
21733
21734 2004-09-08  Bruno Haible  <bruno@clisp.org>
21735
21736         * lib/stdint_.h: New file, taken from GNU clisp.
21737
21738 2004-09-08  Bruno Haible  <bruno@clisp.org>
21739             Oskar Liljeblad  <oskar@osk.mine.nu>
21740
21741         * modules/stdint: New file.
21742         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
21743
21744 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
21745
21746         Import from coreutils.
21747         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
21748         strings on unbounded length.  alloca's performance benefits aren't
21749         that important here.
21750         (V_STRDUP): Remove.
21751         (parse_with_separator): New function, with most of the internals
21752         of the old parse_user_spec.  Allow user to omit both user and group,
21753         for compatibility with FreeBSD.
21754         Clone only the user name, not the entire spec.
21755         Do not set *uid, *gid unless entirely successful.
21756         Avoid memory leak in some failing cases.
21757         Fix regression for USER.GROUP reported by Dmitry V. Levin in
21758         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
21759         (parse_user_spec): Rewrite to use parse_with_separator.
21760
21761 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
21762
21763         * modules/userspec: Don't depend on alloca.
21764
21765 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
21766
21767         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
21768
21769 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
21770
21771         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
21772         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
21773         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
21774
21775 2004-08-16  Simon Josefsson  <jas@extundo.com>
21776
21777         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
21778         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
21779         Add --dry-run for --import.
21780         Let user provided command line parameters override configure.ac
21781         settings.
21782
21783 2004-08-12  Simon Josefsson  <jas@extundo.com>
21784
21785         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
21786         as discussed with Paul Eggert in threads rooted at
21787         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
21788         and
21789         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
21790         Before, the test was empty, and relied on ELIDE_CODE in source
21791         code.)
21792         (gl_PREREQ_GETOPT): New macro.
21793         (gl_GETOPT): Use them.
21794
21795 2004-08-12  Simon Josefsson  <jas@extundo.com>
21796
21797         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
21798         * lib/getopt_.h: Renamed from getopt.h.
21799
21800 2004-08-12  Simon Josefsson  <jas@extundo.com>
21801
21802         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
21803         Change default library name from libfoo to libgnu.
21804         Now, if you have a configure.ac that says:
21805                 gl_SOURCE_BASE(gl)
21806                 gl_M4_BASE(gl/m4)
21807                 gl_MODULES(error getopt etcetera)
21808                 gl_INIT
21809         you can import all you need by running:
21810                 ../gnulib/gnulib-tool --import
21811
21812         * modules/getopt (Files): Rename getopt.h to getopt_.h.
21813         (Makefile.am): Rewrite, use logic from argz.
21814         (Include): Use <getopt.h> instead of "getopt.h".
21815
21816 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
21817
21818         * modules/argp (Files): Add m4/unlocked-io.m4.
21819         (Depends-on): Add extensions.
21820
21821 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
21822
21823         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
21824         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
21825         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
21826         Check for program_invocation_name, program_invocation_short_name,
21827         flockfile, funlockfile, features.h, _getopt_long_only_r.
21828
21829 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
21830
21831         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
21832         its complicated substitute.
21833         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
21834         and program_invocation_name.
21835         (__argp_basename) [!_LIBC]: Remove; the only use was
21836         replaced by its body.
21837         (__argp_short_program_name): Change condition from
21838         !defined __argp_short_program_name to
21839         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
21840         to match argp-namefrob.h.
21841         (__argp_failure): Don't assume strerror_r returns char *.
21842         * lib/argp-parse.c (N_): Define unconditionally.
21843         (argp_default_options): Fill out initializers with 0 to avoid
21844         gcc warnings.
21845
21846 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
21847
21848         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
21849         getopt1.c.
21850
21851 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
21852
21853         Merge from coreutils.
21854
21855         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
21856
21857         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
21858         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
21859
21860 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
21861
21862         Merge from coreutils.
21863
21864         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
21865         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
21866         for Reliant Unix 5.43.
21867
21868         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
21869         (union fooround): Use uintmax_t, not long int.
21870         The rest is a merge from libc:
21871         [defined _LIBC]: Include <shlib-compat.h>.
21872         (_obstack) [defined _LIBC]: Remove after 2.3.4.
21873
21874         * lib/settime.c (settime): Recode to avoid warning with
21875         Sun Forte C 6U2.
21876
21877         * lib/strverscmp.c: Convert to UTF-8.
21878
21879 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
21880
21881         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
21882         m4/uintmax_t.m4.
21883
21884 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
21885
21886         * modules/xalloc-die: New file.
21887         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
21888
21889         * modules/md5 (Files): Add m4/uint32_t.m4.
21890         * modules/sha1: Renamed from modules/sha.
21891         (Files):
21892         Rename lib/sha.h to lib/sha1.h.
21893         Rename lib/sha.c to lib/sha1.c.
21894         Rename m4/sha.m4 to m4/sha1.m4.
21895         (lib_SOURCES): Likewise.
21896         (configure.ac): Rename gl_SHA to gl_SHA1.
21897         (Include): sha.h -> sha1.h.
21898
21899 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
21900
21901         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
21902         * m4/sha1.m4: Renamed from sha.m4.
21903         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
21904
21905 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
21906
21907         * lib/obstack.h (obstack_empty_p):
21908         Don't assume that chunk->contents is suitably aligned.
21909         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
21910         Likewise. Problem reported by Benno in
21911         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
21912
21913         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
21914         readable.  This could be improved further but it'd take some work.
21915
21916 2004-08-08  Simon Josefsson  <jas@extundo.com>
21917
21918         * modules/xgethostname (Depends-on): Remove exit and error (not
21919         used).
21920
21921         * modules/getpass-gnu: Add getpass.h.
21922         (Depends-on): Add stdbool.
21923         * modules/getpass: Add getpass.h.
21924
21925 2004-08-08  Simon Josefsson  <jas@extundo.com>
21926
21927         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
21928         Check getpass declaration.
21929
21930 2004-08-08  Simon Josefsson  <jas@extundo.com>
21931
21932         * lib/xgethostname.c: Don't include error.h (not used).
21933
21934         * lib/getpass.h: Add.
21935         * lib/getpass.c: Include getpass.h first.
21936
21937 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
21938
21939         * lib/xalloc-die.c: New file.
21940         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
21941         All uses removed.
21942         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
21943         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
21944         xalloc-die.c.
21945         (_, N_, xalloc_die): Move to xalloc-die.c.
21946         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
21947         so that we needn't mess with xalloc_msg_memory_exhausted.
21948
21949         * lib/sha1.h: Renamed from sha.h.
21950         (SHA1_H): Renamed from _SHA_H.
21951         (sha1_ctx): Renamed from sha_ctx.
21952         (sha1_init_ctx): Renamed from sha_init_ctx.
21953         (sha1_process_block): Renamed from sha_process_block.
21954         (sha1_process_bytes): Renamed from sha_process_bytes.
21955         (sha1_finish_ctx): Renamed from sha_finish_ctx.
21956         (sha1_read_ctx): Renamed from sha_read_ctx.
21957         (sha1_stream): Renamed from sha_stream.
21958         (sha1_buffer): Renamed from sha_buffer.
21959         * lib/sha1.c: Likewise; renamed from sha.c.
21960         Do not include <sys/types.h>.
21961         Include <stddef.h> rather than <stdlib.h>.
21962
21963 2004-08-08  Bruno Haible  <bruno@clisp.org>
21964
21965         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
21966         FILESYSTEM_PREFIX_LEN.
21967         * lib/progreloc.c: Likewise.
21968         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
21969
21970 2004-08-06  Simon Josefsson  <jas@extundo.com>
21971
21972         * modules/progname (Depends-on): Don't depend on stdbool.
21973
21974 2004-08-06  Simon Josefsson  <jas@extundo.com>
21975
21976         * modules/getsubopt: New file.
21977         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21978         getsubopt.
21979
21980 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
21981
21982         More merge from coreutils.
21983
21984         * m4/utimens.m4, m4/utimecmp.m4: New files.
21985         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
21986         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
21987         prereq.m4, sha.m4: Import changes from coreutils.
21988
21989 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
21990
21991         More merge from coreutils.
21992         * modules/raise, modules/readtokens0, modules/utimens:
21993         * modules/utimecmp, module/xnanosleep: New files.
21994         * modules/strftime: Add lib/strftime.h.
21995         Change include from <time.h> to "strftime.h".
21996         * modules/yesno: Add lib/yesno.h.
21997         * modules/backupfile: Remove lib/addext.c.
21998         * modules/euidaccess: Add stat-macros.h.
21999         * modules/canonicalize, modules/euidaccess,
22000         modules/filemode, modules/lchown, modules/makepath,
22001         modules/rmdir, modules/stat: Likewise.
22002
22003 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
22004
22005         Merge from tar.
22006         * lib/argp-help.c (make_hol, hol_append): Don't assume that
22007         SIZE_MAX is a valid preprocessor constant.
22008         (__argp_basename): Change from "#ifndef _LIBC"
22009         to "#ifndef __argp_short_program_name", so that
22010         we don't compile these functions for tar.
22011
22012         More merges from coreutils.
22013         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
22014         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
22015         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
22016         * lib/addext.c: Remove; no longer needed.
22017         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
22018         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
22019         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
22020         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
22021         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
22022         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
22023         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
22024         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
22025         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
22026         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
22027         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
22028         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
22029         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
22030         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
22031         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
22032         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
22033         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
22034         Import changes from coreutils.
22035
22036 2004-08-05  Simon Josefsson  <jas@extundo.com>
22037
22038         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
22039
22040 2004-08-05  Simon Josefsson  <jas@extundo.com>
22041
22042         * m4/getsubopt.m4: New file.
22043
22044 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
22045
22046         Merge from coreutils.
22047
22048         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
22049         * m4/getcwd-path-max.m4: New files.
22050
22051         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
22052         FILESYSTEM_PREFIX_LEN ->
22053         FILE_SYSTEM_PREFIX_LEN.
22054         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
22055         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
22056         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
22057         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
22058
22059         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
22060         prerequisite modules now handle the DOS stuff.
22061         Don't check for unistd.h.
22062
22063 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
22064
22065         Merge from coreutils.
22066
22067         * lib/.gdb-history: Remove; this doesn't belong here.
22068
22069         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
22070         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
22071         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
22072         * lib/getcwd.c: New files.
22073
22074         * lib/dirname.h: Include <stdbool.h>.
22075         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
22076         for consistency with POSIX terminology.  All uses changed.
22077         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
22078         (strip_trailing_slashes): Use bool for booleans.
22079         * lib/stripslash.c (strip_trailing_slashes): Likewise.
22080
22081         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
22082         sometimes returns a positive errno value even when it succeeds.
22083         (print_errno_message) [!LIBC]: Fall back on strerror if
22084         __strerror_r fails.
22085
22086         * lib/path-concat.c (mempcpy): Don't define if a system header defines
22087         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
22088         (longest_relative_suffix): New function.
22089         (path_concat): Use it.  Assume first argument is not NULL.
22090         Port to DOS.  Omit redundant separators.
22091         Report an error instead of returning NULL.
22092         Use mempcpy instead of memcpy.
22093         (xpath_concat): Remove: not declared or used.
22094
22095         * lib/same.h: Include <stdbool.h>
22096         (same_name): Return bool, not int.
22097         * lib/same.c (same_name): Likewise.
22098         (errno): Don't declare; we assume C89 or better now.
22099
22100         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
22101         if not already defined.
22102
22103         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
22104         * lib/dup-safer.c (errno): Likewise.
22105
22106 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
22107
22108         Merge from coreutils.
22109         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
22110         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
22111         * modules/path-concat: Don't depend on strdup.
22112
22113 2004-08-03  Simon Josefsson  <jas@extundo.com>
22114
22115         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
22116         * lib/progname.h: Don't include stdbool.h.
22117
22118 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
22119
22120         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
22121         * MODULES.html.sh (func_all_modules): Remove fatal.
22122
22123 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
22124
22125         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
22126
22127 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
22128
22129         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
22130         working.
22131
22132 2004-08-02  Simon Josefsson  <jas@extundo.com>
22133
22134         * lib/getsubopt.h: New file, with comments from Bruno Haible.
22135         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
22136         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
22137
22138 2004-08-01  Simon Josefsson  <jas@extundo.com>
22139
22140         * lib/xgetdomainname.c: Include stdlib.h, for free().
22141
22142 2004-07-19  Bruno Haible  <bruno@clisp.org>
22143
22144         * MODULES.html.sh (func_all_modules): Add dummy.
22145
22146 2004-07-16  Simon Josefsson  <jas@extundo.com>
22147
22148         * modules/dummy: New file.
22149
22150 2004-07-16  Simon Josefsson  <jas@extundo.com>
22151
22152         * lib/dummy.c: New file.
22153
22154 2004-07-16  Bruno Haible  <bruno@clisp.org>
22155
22156         * lib/backupfile.h: Add extern "C" for C++.
22157         * lib/closeout.h: Likewise.
22158         * lib/copy-file.h: Likewise.
22159         * lib/findprog.h: Likewise.
22160         * lib/full-write.h: Likewise.
22161         * lib/pathname.h: Likewise.
22162         * lib/progname.h: Likewise.
22163         * lib/stpcpy.h: Likewise.
22164         * lib/stpncpy.h: Likewise.
22165         * lib/strcase.h: Likewise.
22166         * lib/strstr.h: Likewise.
22167         * lib/xalloc.h: Likewise.
22168
22169         * lib/mbswidth.h: Add extern "C" for C++.
22170         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
22171
22172 2004-07-13  Robert Millan  <robertmh@gnu.org>
22173
22174         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
22175
22176 2004-07-09  Simon Josefsson  <jas@extundo.com>
22177
22178         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
22179         failed without this.)
22180
22181 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
22182
22183         * modules/chown (Files): Add lib/fchown-stub.c, since
22184         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
22185
22186 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
22187
22188         * lib/fchown-stub.c: New file.
22189
22190 2004-06-24  Jim Meyering  <jim@meyering.net>
22191
22192         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
22193
22194 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
22195
22196         * modules/argz: Omit "#include".
22197
22198         * MODULES.html.sh (func_all_modules): Add calloc, to match
22199         2004-06-01 addition of calloc module.
22200
22201 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
22202
22203         * m4/argz.m4: New file, which is autoupdated from libtool.
22204
22205 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
22206
22207         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
22208         libtool.
22209
22210 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
22211
22212         * config/srclist-update: Don't insist on "USA." before the
22213         close-comment, as libtool omits the period and puts the */ on a
22214         separate line.
22215         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
22216         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
22217
22218 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
22219
22220         * modules/argz: New file.
22221         * MODULES.html.sh (func_all_modules): Add argz.
22222
22223 2004-06-12  Jim Meyering  <jim@meyering.net>
22224         and  Paul Eggert  <eggert@cs.ucla.edu>
22225
22226         * modules/hash (Files): Add lib/xalloc.h.
22227         * modules/pipe (Depends-on): Add wait-process.
22228         * modules/stat (Depends-on): Add xalloc.
22229         * modules/userspec (Files): Add lib/userspec.h.
22230         * modules/xstrto
22231
22232         Upgrade from gettext-0.13.
22233         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
22234         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
22235         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
22236
22237 2004-06-10  Jim Meyering  <jim@meyering.net>
22238
22239         * lib/calloc.c: New file.
22240
22241 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
22242
22243         * lib/getdate.y (yylex): Allow space between sign and number.
22244         Problem reported by Dan Jacobson.
22245
22246 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
22247
22248         Merge from coreutils CVS.
22249
22250         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
22251         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
22252         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
22253         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
22254         xstrtol.m4: Fix copyright date and/or serial number.
22255
22256         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
22257         See if we need an fchown replacement.
22258         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
22259         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
22260         and use the replacement function if we detect either defect.
22261
22262         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
22263         gl_UTIMECMP.
22264
22265 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
22266         and  Jim Meyering  <jim@meyering.net>
22267
22268         Merge from coreutils CVS.
22269
22270         * lib/stat-macros.h: New file, with contents from file-type.h
22271         and coreutils' system.h.
22272         * lib/file-type.c: Include "stat-macros.h".
22273         * lib/file-type.h (file_type): Move all macro definitions to new file,
22274         stat-macros.h.
22275
22276         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
22277         Wrap old code with this conditional.
22278         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
22279         function that does not dereference symlinks.
22280         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
22281
22282         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
22283         dependency problems.
22284         (xreadlink): Accept new arg SIZE, for efficiency.
22285         All decls and uses changed.
22286         * lib/xreadlink.h: Include <stddef.h>, for size_t.
22287
22288         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
22289         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
22290
22291         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
22292         sysexits.h.
22293
22294 2004-06-01  Jim Meyering  <jim@meyering.net>
22295
22296         * m4/calloc.m4: New file.
22297
22298 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
22299
22300         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
22301         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
22302         Also, fix a typo in a diagnostic.
22303
22304 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
22305
22306         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
22307         or AC_FUNC_REALLOC.
22308
22309 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
22310
22311         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
22312         macros to be defined.
22313         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
22314         the allocator returns NULL because the requested size is zero.
22315
22316 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
22317
22318         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
22319         var.  Add comment explaining why libc still defines it.  This
22320         merges the following patch from glibc:
22321         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
22322
22323 2004-05-20  Andreas Schwab  <schwab@suse.de>
22324
22325         * m4/free.m4: Replace free if it not known to work, not the other
22326         way round.
22327
22328 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22329
22330         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
22331         present in glibc since revision 1.1 of this file.
22332         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
22333         obstack_alignment_mask, obstack_alloc, obstack_base,
22334         obstack_blank, obstack_blank_fast, obstack_chunk_size,
22335         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
22336         obstack_grow0, obstack_init, obstack_int_grow,
22337         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
22338         obstack_next_free, obstack_object_size, obstack_ptr_grow,
22339         obstack_ptr_grow_fast, obstack_room): Remove declarations of
22340         nonexistent functions.
22341
22342 2004-05-18  Karl Berry  <karl@gnu.org>
22343
22344         * config/srclist.txt: break link for vasnprintf.c.
22345
22346 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22347
22348         Port obstack to the AS/400, where pointers are 16 bytes wide and
22349         you cannot cast an integer to a valid pointer.  This patch is
22350         currently waiting to be integrated into glibc; see
22351         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
22352
22353         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
22354         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
22355         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
22356         (struct obstack): temp member is now a union of a pointer and
22357         an integer, instead of an integer.  All integer uses changed.
22358         This does not affect the physical layout of struct obstack,
22359         except on hosts (like the AS/400) where the size or alignment of
22360         void * is greater than that of ptrdiff_t.
22361         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
22362         __STDC__)]: Store temporary in pointer member of union, not
22363         integer member.
22364         * lib/obstack.c: Include <stddef.h>, for offsetof.
22365         (struct fooalign): Remove; it doesn't need a name.
22366         (union fooround): Change double to long double, and add void *.
22367         (DEFAULT_ALIGNMENT): Use offsetof to compute.
22368         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
22369         not a macro.  Hence the values are always int; so remove all
22370         casts-to-int in uses.
22371
22372 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22373
22374         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
22375         we can get this patch merged into glibc.
22376
22377 2004-05-17  Derek R. Price  <derek@ximbiot.com>
22378             Paul Eggert  <eggert@cs.ucla.edu>
22379
22380         * m4/argp: Depend on alloca.
22381
22382 2004-05-17  Derek R. Price  <derek@ximbiot.com>
22383             Paul Eggert  <eggert@cs.ucla.edu>
22384
22385         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
22386         freecoding.
22387
22388 2004-05-17  Bruno Haible  <bruno@clisp.org>
22389
22390         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
22391         precision that consists of a '.' followed by an empty digit string.
22392         Patch by Tor Lillqvist <tml@iki.fi>.
22393
22394 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22395
22396         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
22397         for backward compatibility with older code.  We need our own
22398         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
22399         it under some other name, and our alloca.h will define it.
22400
22401 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22402             Derek Price  <derek@ximbiot.com>
22403
22404         * lib/alloca.c: Include <alloca.h>, to get our interface.
22405         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
22406         include <alloca.h> first.  Use C89 prototype for alloca; this
22407         requires including <stddef.h> for size_t.  Use extern "C" if C++.
22408         Use #elif for simplicity, since we can assume C89 now.
22409         Don't try to source the system alloca.h since it will not be found
22410         and to prevent recursively including its replacement.
22411         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
22412         * lib/regex.c: Likewise.
22413
22414 2004-05-16  Derek Price  <derek@ximbiot.com>
22415             Paul Eggert  <eggert@cs.ucla.edu>
22416
22417         getline cleanup.  This changes the getndelim2 API: both order of
22418         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
22419         no delimiter).
22420
22421         * lib/getline.c: Don't include stddef.h or stdio.h, since our
22422         interface does that.
22423         (getline): Always use getdelim, so that we don't have two
22424         copies of this code.
22425         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
22426         if available.
22427         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
22428         (GETNDELIM2_MAXIMUM): New macro.
22429         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
22430         instead of the old practice of delim2==0.  All callers changed.
22431         Return -1 on overflow, instead of returning junk.
22432         Do not set *linesize unless allocation succeeds.
22433         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
22434         that we include sys/types.h.
22435         * lib/getnline.h: Likewise.
22436         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
22437         (getndelim2): Reorder arguments.
22438         * lib/getnline.c (getnline, getndelim):
22439         Don't discard the NMAX argument.
22440         (getnline): Invoke getndelim, to avoid code duplication.
22441         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
22442         of (size_t) -1 by callers of the getnline family.
22443
22444 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
22445
22446         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
22447         Check for gettimeofday.
22448         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
22449         Check for settimeofday, stime.
22450
22451 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
22452
22453         * lib/nanosleep.c (suspended): Change its type from int to
22454         sig_atomic_t volatile.
22455         (first_call): Make it private to rpl_nanosleep, and have it
22456         be zero initially as that's a bit faster.
22457         (my_usleep): Round up fractional times instead of truncating them,
22458         as this is the usual meaning for 'sleep'.
22459
22460         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
22461         doesn't work.
22462         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
22463         (ENOSYS): Define if not defined.
22464         (settime): Fall back on stime if it exists and settimeofday fails.
22465         But don't bother with fallbacks if a method fails with errno == EPERM.
22466
22467 2004-05-11  Jim Meyering  <jim@meyering.net>
22468
22469         Prior to this change, the save_cwd caller required read access to the
22470         current directory on most systems (ones with the fchdir function).
22471
22472         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
22473         fails, try write-only, and finally, resort to using xgetcwd.
22474
22475 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
22476
22477         * lib/obstack.c, obstack.h: Import changes from libc.
22478
22479 2004-04-28  Bruno Haible  <bruno@clisp.org>
22480
22481         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
22482         also implicitly appends .exe to executables.
22483         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
22484         accepts Windows pathnames.
22485         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
22486         Treat Cygwin like Windows, since it now accepts Windows pathnames.
22487         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
22488         Treat Cygwin like Windows, since it now accepts Windows pathnames.
22489         Reported by Derek Robert Price <derek@ximbiot.com>.
22490
22491 2004-04-21  Karl Berry  <karl@gnu.org>
22492
22493         * config/srclist.txt (localcharset.c): break sync.
22494
22495 2004-04-20  Paul Eggert  <eggert@twinsun.com>
22496
22497         * m4/host-os.m4: Add a copyright notice.
22498
22499 2004-04-20  Jim Meyering  <jim@meyering.net>
22500
22501         Change UTILS_ to gl_ in AC_DEFINE'd names.
22502         Change utils_- and jm_-prefixed variables, too.
22503         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
22504         UTILS_FUNC_MKDIR_TRAILING_SLASH.
22505         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
22506
22507         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
22508         Don't emit trailing blanks.
22509         Also rename jm_-prefixed variables to have gl_ prefix.
22510
22511         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
22512         Also rename jm_-prefixed variables to have gl_ prefix.
22513
22514         * m4/jm-macros.m4: Reflect the renamings.
22515         * m4/prereq.m4: Likewise.
22516
22517 2004-04-20  Jim Meyering  <jim@meyering.net>
22518
22519         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
22520         memory.
22521
22522 2004-04-20  Jim Meyering  <jim@meyering.net>
22523             Bruno Haible  <bruno@clisp.org>
22524
22525         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
22526         memory when realloc fails.
22527
22528 2004-04-19  Jim Meyering  <jim@meyering.net>
22529
22530         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
22531         now that readutmp.c may call `free (0)'.
22532
22533 2004-04-19  Bruno Haible  <bruno@clisp.org>
22534
22535         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
22536         * m4/inttypes_h.m4: Likewise.
22537         * m4/stdint_h.m4: Likewise.
22538         * m4/intmax_t.m4: Likewise.
22539         * m4/uintmax_t.m4: Likewise.
22540
22541 2004-04-18  Jim Meyering  <jim@meyering.net>
22542
22543         * m4/prereq.m4: Don't forbid jm_ prefix.
22544
22545         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
22546         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
22547         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
22548         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
22549         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
22550         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
22551         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
22552         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
22553         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
22554         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
22555         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
22556         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
22557         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
22558         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
22559         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
22560         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
22561         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
22562         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
22563         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
22564
22565 2004-04-18  Jim Meyering  <jim@meyering.net>
22566
22567         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
22568         failure, don't leak memory and do call END_UTMP_ENT.
22569
22570 2004-04-16  Jim Meyering  <jim@meyering.net>
22571
22572         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
22573         coreutils' stat program.
22574         (gl_PREREQ): Don't require jm_PREREQ_STAT.
22575
22576 2004-04-11  Paul Eggert  <eggert@twinsun.com>
22577
22578         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
22579         C89.
22580         (CHAR_BIT): Remove, since we assume C89.
22581         Include <stdint.h> if available, as per current Autoconf CVS advice.
22582
22583 2004-03-31  Jim Meyering  <jim@meyering.net>
22584
22585         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
22586         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
22587         * m4/xalloc.m4: Likewise.
22588
22589 2004-03-30  Paul Eggert  <eggert@twinsun.com>
22590
22591         Merge from coreutils.
22592
22593         * m4/inttostr.m4: New file.
22594         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
22595         Require AM_STDBOOL_H and gl_TIMESPEC instead.
22596         Require gl_CLOCK_TIME.
22597         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
22598
22599 2004-03-30  Paul Eggert  <eggert@twinsun.com>
22600
22601         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
22602         not bool, to be more consistent with Unix conventions.
22603         Suggested by Bruno Haible.
22604
22605         Merge from coreutils.
22606
22607         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
22608         * lib/umaxtostr.c: New files.
22609
22610         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
22611         the usual <time.h> dance.
22612         (get_date): Change signature to support fractional time stamps.
22613         All callers changed.
22614         * lib/getdate.y: Include "getdate.h" first, as we can now
22615         assume C89 and don't need to worry about 'const'.
22616         Similarly, include "unlocked-io.h" near start, not in middle.
22617         Include <limits.h>.
22618         (textint.value): Use long int rather than int.
22619         (textint.digits): Use size_t rather than int.
22620         (BILLION, LOG10_BILLION): New constants.
22621         (parser_control): New member rel_ns.  Members day_ordinal,
22622         time_zone, month, day, hour, minutes, rel_year, rel_month,
22623         rel_day, rel_hour, rel_minutes, rel_seconds
22624         are now long int, not int.  Member seconds is now struct timespec,
22625         not int.  New member timespec_seen.  Members dates_seen, days_seen,
22626         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
22627         not int.
22628         (%union.intval): Now long int, not int.
22629         New member timespec.
22630         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
22631         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
22632         (spec): Now is a timespec or an item list.
22633         (timespec, items): New nonterminals.
22634         (time, rel, relunit, number, get_date):
22635         Add support for fractional seconds.
22636         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
22637         (gmtime, localtime, mktime): Remove decls; not needed with C89.
22638         (to_hour): First arg is now long int, not int.
22639         (to_year): Returns long int, not int.
22640         Don't treat year -70 like 70.
22641         (tm_diff): Returns long int, not int.
22642         (lookup_word): Use bool instead of int when appropriate.
22643         (yylex): Use size_t for count, not int.
22644         Detect overflow when parsing large integer constants.
22645         Add support for fractions.
22646         (get_date): Make pointers 'const' if possible.
22647         Use more-portable code to detect integer overflow.
22648         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
22649         Don't use ctime; it's not reliable if the year has >4 digits.
22650
22651         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
22652         This is for compatibility with BSD.
22653
22654         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
22655         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
22656         From coreutils' system.h.
22657
22658         * lib/userspec.c: Don't include "posixver.h".
22659         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
22660         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
22661         compatible extension.  Simplify code by removing a boolean int
22662         that was always nonzero if a string was nonnull.
22663
22664 2004-03-30  Jim Meyering  <jim@meyering.net>
22665
22666         Merge from coreutils.
22667
22668         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
22669         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
22670         on some systems one must include <grp.h> before it.
22671         Reported by Christian Krackowizer.
22672
22673 2004-03-30  Jim Meyering  <jim@meyering.net>
22674
22675         Merge from coreutils.
22676
22677         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
22678
22679         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
22680         an empty input stream.
22681
22682         * lib/readtokens.c: Include <stdbool.h>.
22683         (readtoken): Use `size_t' rather than int/long.
22684         All callers adjusted.
22685         Use `bool' rather than `int' where appropriate.
22686         Use memset rather than an explicit loop.
22687         Use x2nrealloc rather than xrealloc.
22688         Allow the use of `\0' as a delimiter.
22689         (readtokens): Likewise.
22690         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
22691
22692 2004-03-30  Jim Meyering  <jim@meyering.net>
22693
22694         * m4/realloc.m4: Remove file, since now it does no more than
22695         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
22696         the `configure.ac' section of module/realloc.
22697         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
22698
22699 2004-03-30  Bruno Haible  <bruno@clisp.org>
22700
22701         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
22702         nonnull.
22703
22704 2004-03-29  Paul Eggert  <eggert@twinsun.com>
22705
22706         Merge changes to getloadavg.c from coreutils and Emacs.
22707
22708         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
22709         Define to an expression, not to the empty string.
22710         Include cloexec.h and xalloc.h.
22711         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
22712         Use set_cloexec_flag rather than rolling our own.
22713         * lib/cloexec.c, lib/cloexec.h: New files.
22714
22715 2004-03-29  Paul Eggert  <eggert@twinsun.com>
22716
22717         * m4/cloexec.m4: New file.
22718
22719 2004-03-18  Paul Eggert  <eggert@twinsun.com>
22720
22721         * lib/getopt.h: Sync with libc CVS.
22722
22723 2004-03-18  Paul Eggert  <eggert@twinsun.com>
22724             Bruno Haible  <bruno@clisp.org>
22725
22726         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
22727         mbswidth.
22728
22729 2004-03-18  Paul Eggert  <eggert@twinsun.com>
22730             Bruno Haible  <bruno@clisp.org>
22731
22732         * lib/mbswidth.h: Include <wchar.h> only if
22733         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
22734         <wchar.h>.
22735         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
22736
22737 2004-03-09  Paul Eggert  <eggert@twinsun.com>
22738
22739         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
22740         Sync with libc CVS.
22741         * lib/getopt_int.h: New file, also synced from libc.
22742
22743 2004-03-09  Paul Eggert  <eggert@twinsun.com>
22744
22745         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
22746         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
22747         Bring back getopt.c, getopt.h, getopt1.c.
22748
22749 2004-03-07  Paul Eggert  <eggert@twinsun.com>
22750
22751         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
22752         All uses changed.  Check for sa_sigaction member; this fixes
22753         a bug first reported by Jason Andrade in
22754         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
22755
22756 2004-03-07  Paul Eggert  <eggert@twinsun.com>
22757
22758         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
22759         '#if' expressions.  Unlike the code it replaces, it does not
22760         depend on (defined _SC_PAGESIZE).  However, it does depend on
22761         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
22762         first reported by Jason Andrade in
22763         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
22764
22765 2004-02-25  Simon Josefsson  <jas@extundo.com>
22766
22767         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
22768
22769 2004-02-25  Simon Josefsson  <jas@extundo.com>
22770
22771         * lib/strdup.h: New file.
22772         * lib/strdup.c: Include it.
22773         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
22774         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
22775
22776 2004-02-23  Karl Berry  <karl@gnu.org>
22777
22778         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
22779         (from fencepost.gnu.org:/gd/gnuorg).
22780
22781 2004-02-23  Karl Berry  <karl@gnu.org>
22782
22783         * config/srclistvars.sh (GNUORG) [karl]: redefine.
22784         * config/srclist.txt: add maintain/standards documents.
22785
22786 2004-02-18  Bruno Haible  <bruno@clisp.org>
22787
22788         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
22789         Reported by Derek Robert Price <derek@ximbiot.com>.
22790
22791 2004-02-16  Karl Berry  <karl@gnu.org>
22792
22793         * config/mkinstalldirs, install-sh: update from automake.
22794
22795 2004-02-06  Karl Berry  <karl@gnu.org>
22796
22797         * m4/po.m4: update from gettext 0.14.1.
22798
22799 2004-02-06  Karl Berry  <karl@gnu.org>
22800
22801         * lib/config.charset: update from gettext 0.14.1.
22802
22803 2004-02-05  Paul Eggert  <eggert@twinsun.com>
22804
22805         Add comments and code, prompted by suggestions from Bruno Haible
22806         for sh-quote.
22807         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
22808         describing the enum quoting_style values.
22809         * lib/quotearg.c (quotearg_alloc): New function.
22810         (quotearg_buffer_restyled): Treat lone { and } as special.
22811         Treat = as special.  Work around bug with older shells
22812         that "see" a '\' that is really the 2nd byte of a multibyte char.
22813         Quote empty string with shell_quoting_style.
22814
22815 2004-02-03  Bruno Haible  <bruno@clisp.org>
22816
22817         * m4/pipe.m4: New file, from GNU gettext.
22818
22819 2004-02-03  Bruno Haible  <bruno@clisp.org>
22820
22821         * lib/pipe.h: New file, from GNU gettext.
22822         * lib/pipe.c: New file, from GNU gettext.
22823
22824 2004-01-27  Bruno Haible  <bruno@clisp.org>
22825
22826         * m4/execute.m4: New file, from GNU gettext.
22827
22828 2004-01-27  Bruno Haible  <bruno@clisp.org>
22829
22830         * lib/execute.h: New file, from GNU gettext.
22831         * lib/execute.c: New file, from GNU gettext.
22832         * lib/w32spawn.h: New file, from GNU gettext.
22833
22834 2004-01-24  Paul Eggert  <eggert@twinsun.com>
22835
22836         Merge from diffutils.
22837
22838         * lib/file-type.c (file_type): Add typed memory objects.
22839         * lib/file-type.h (S_TYPEISTMO): New macro.
22840
22841         * lib/c-stack.h (c_stack_action): Remove argv argument.
22842         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
22843         (die): Don't calculate message unless segv_action returns.
22844         (get_stack_location, min_address_from_argv, max_address_from_argv,
22845         volatile stack_base, volatile_stack_size): Remove.
22846         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
22847         that every segmentation violation is a stack overflow.  (Ouch!)
22848         See Debian bug 136249 (still outstanding) for more info about why
22849         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
22850
22851 2004-01-24  Paul Eggert  <eggert@twinsun.com>
22852
22853         Exit-status fix from coreutils.
22854
22855         Use exit_failure consistently in place of EXIT_FAILURE,
22856         so that program exit statuses are consistent on failure.
22857
22858         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
22859         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
22860         * lib/argmatch.h: Comment fix to match the above.
22861         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
22862         Now a macro referring to exit_failure, instead of a separate
22863         variable.  Include "exitfail.h" to get it.
22864         * lib/xstrtol.h: Include "exitfail.h".
22865         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
22866
22867         * lib/long-options.c (parse_long_options): Use prototype
22868         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
22869         for clarity.
22870
22871 2004-01-21  Jim Meyering  <jim@meyering.net>
22872
22873         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
22874         so as not to conflict with a different-sized __mktime_internal
22875         function in GNU libc.
22876         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
22877         Problem building statically-linked `ls' reported by Michael Brunnbauer.
22878
22879 2004-01-20  Karl Berry  <karl@gnu.org>
22880
22881         * config/config.guess: update from config.
22882
22883         * config/srclistvars.sh: GNUWWWLICENSES for karl.
22884
22885 2004-01-20  Bruno Haible  <bruno@clisp.org>
22886
22887         Safer stack allocation.
22888         * lib/setenv.c: Include allocsa.h.
22889         (alloca): Remove fallback definition.
22890         (freea): Remove macro.
22891         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
22892         instead of freea.
22893
22894 2004-01-20  Bruno Haible  <bruno@clisp.org>
22895
22896         * m4/eealloc.m4: New file, from GNU gettext.
22897
22898 2004-01-20  Bruno Haible  <bruno@clisp.org>
22899
22900         * m4/allocsa.m4: New file, from GNU gettext.
22901
22902 2004-01-20  Bruno Haible  <bruno@clisp.org>
22903
22904         * lib/xallocsa.h: New file, from GNU gettext.
22905         * lib/xallocsa.c: New file, from GNU gettext.
22906
22907 2004-01-20  Bruno Haible  <bruno@clisp.org>
22908
22909         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
22910
22911 2004-01-20  Bruno Haible  <bruno@clisp.org>
22912
22913         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
22914         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
22915         specially.
22916
22917 2004-01-20  Bruno Haible  <bruno@clisp.org>
22918
22919         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
22920         patch.
22921
22922 2004-01-20  Bruno Haible  <bruno@clisp.org>
22923
22924         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
22925
22926 2004-01-20  Bruno Haible  <bruno@clisp.org>
22927
22928         * lib/eealloc.h: New file.
22929
22930 2004-01-20  Bruno Haible  <bruno@clisp.org>
22931
22932         * lib/binary-io.h: Avoid warnings on Cygwin.
22933
22934 2004-01-20  Bruno Haible  <bruno@clisp.org>
22935
22936         * lib/allocsa.h: New file, from GNU gettext.
22937         * lib/allocsa.c: New file, from GNU gettext.
22938
22939 2004-01-18  Karl Berry  <karl@gnu.org>
22940
22941         * doc/gpl.texi, doc/lgpl.texi: new files.
22942
22943 2004-01-18  Karl Berry  <karl@gnu.org>
22944
22945         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
22946         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
22947
22948 2004-01-15  Paul Eggert  <eggert@twinsun.com>
22949
22950         Merge from coreutils.
22951
22952         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
22953         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
22954         (gl_DEFAULT_POSIX2_VERSION): Move
22955         the documentation from 'configure' into 'config.hin',
22956         so that 'configure --help' isn't burdened by it and
22957         we don't have to worry about its formatting there.
22958         Reword the documentation so that it's more succinct
22959         and can be run together into a single paragraph.
22960         * m4/same.m4 (gl_SAME): Check for pathconf.
22961
22962 2004-01-15  Paul Eggert  <eggert@twinsun.com>
22963
22964         Merge from coreutils.
22965
22966         * lib/posixver.c: Include posixver.h.
22967
22968         * lib/same.c: Include <stdbool.h>, <limits.h>.
22969         (_POSIX_NAME_MAX): Define if not defined.
22970         (MIN): New macro.
22971         (same_name): If file names are silently truncated, report
22972         that the file names are the same if they are the same after
22973         the silent truncation.
22974
22975         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
22976         conversion function.
22977         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
22978         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
22979         longer needed.
22980
22981 2004-01-15  Jim Meyering  <jim@meyering.net>
22982
22983         Merge from coreutils.
22984
22985         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
22986         if no library is required.
22987         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
22988         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
22989         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
22990         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
22991         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
22992         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
22993         value, $ac_cv_search_crypt, if it's "none required".
22994         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
22995         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
22996         not gl_FUNC_GETLOADAVG.
22997         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
22998         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
22999
23000 2004-01-15  Jim Meyering  <jim@meyering.net>
23001
23002         Merge from coreutils.
23003
23004         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
23005         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
23006         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
23007
23008         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
23009         optional configure-time default.
23010
23011         * lib/version-etc.c (version_etc_copyright): Update copyright date.
23012
23013         * lib/xreadlink.c (xreadlink): Correct outdated comment.
23014
23015 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
23016
23017         Merge from coreutils.
23018
23019         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
23020         value, $ac_cv_search_nanosleep, if it's "none required".
23021
23022 2004-01-14  Paul Eggert  <eggert@twinsun.com>
23023
23024         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
23025         with like-named macro in fnmatch.c.
23026         (EXT): Use an internal constant instead.
23027
23028         Merge fnmatch patches from glibc.
23029         * lib/fnmatch.c (mbsinit): Remove define.
23030         Add libc_hidden_ver (__fnmatch, fnmatch).
23031         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
23032         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
23033
23034 2004-01-14  Karl Berry  <karl@gnu.org>
23035
23036         * config/install-sh: update from automake.
23037
23038 2004-01-13  Karl Berry  <karl@gnu.org>
23039
23040         * config/install-sh: update from automake.
23041
23042 2004-01-09  Karl Berry  <karl@gnu.org>
23043
23044         * config/install-sh: update from automake.
23045
23046 2004-01-05  Karl Berry  <karl@gnu.org>
23047
23048         * config/config.{sub,guess}: update from config.
23049
23050 2003-12-31  Karl Berry  <karl@gnu.org>
23051
23052         * config/depcomp: update from automake.
23053
23054 2003-12-14  Karl Berry  <karl@gnu.org>
23055
23056         * lib/config.charset: update from gettext-runtime.
23057
23058 2003-12-03  Paul Eggert  <eggert@twinsun.com>
23059
23060         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
23061         Bug reported by Alfred M. Szmidt.
23062
23063 2003-12-03  Bruno Haible  <bruno@clisp.org>
23064
23065         * m4/gettext.m4: Upgrade from gettext-0.13.
23066         * m4/po.m4: Upgrade from gettext-0.13.
23067         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
23068         * m4/intmax.m4: New file, from gettext-0.13.
23069         * m4/printf-posix.m4: New file, from gettext-0.13.
23070
23071 2003-11-29  Karl Berry  <karl@gnu.org>
23072
23073         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
23074
23075 2003-11-25  Paul Eggert  <eggert@twinsun.com>
23076             Bruno Haible  <bruno@clisp.org>
23077
23078         * lib/printf-parse.h: Don't include sys/types.h.
23079         (ARG_NONE): New macro.
23080         (char_directive): Change type of *arg_index fields to size_t.
23081         * lib/printf-parse.c: Don't include sys/types.h.
23082         (SSIZE_MAX): Remove macro.
23083         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
23084         Remove unnecessary overflow check.
23085         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
23086         fields.
23087
23088 2003-11-25  Bruno Haible  <bruno@clisp.org>
23089
23090         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
23091
23092 2003-11-25  Bruno Haible  <bruno@clisp.org>
23093
23094         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
23095         gt_TYPE_SSIZE_T.
23096
23097 2003-11-24  Paul Eggert  <eggert@twinsun.com>
23098
23099         * modules/alloca: Remove dependency on xalloc.
23100
23101 2003-11-24  Paul Eggert  <eggert@twinsun.com>
23102
23103         * lib/alloca.c: Remove dependency on xalloc module.
23104         (xalloc_die): Remove.
23105         (memory_full) [!defined emacs]: New macro.
23106         [!defined emacs]: Don't include xalloc.h.
23107         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
23108         address arithmetic overflows.  Change datatypes a bit to avoid
23109         unnecessary casts.
23110
23111 2003-11-22  Jim Meyering  <jim@meyering.net>
23112
23113         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
23114         s/size/size_t/.
23115
23116 2003-11-21  Karl Berry  <karl@gnu.org>
23117
23118         * config/config.{sub,guess}: update from config.
23119
23120 2003-11-18  Karl Berry  <karl@gnu.org>
23121
23122         * config/config.{sub,guess}: update from config.
23123
23124         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
23125
23126 2003-11-17  Paul Eggert  <eggert@twinsun.com>
23127
23128         * README: Mention that S+T cannot overflow if S is the size of
23129         an existing object and T is sufficiently small.
23130
23131 2003-11-17  Jim Meyering  <jim@meyering.net>
23132
23133         On systems without utime and without a utimes function capable of
23134         dealing with a NULL struct utimbuf* argument, this utime replacement
23135         could -- in unusual circumstances -- leak a file descriptor.
23136         * lib/utime.c: Include <unistd.h> and <errno.h>.
23137         (utime_null): Be sure to close `fd' and to preserve errno.
23138         Reported by Geoff Collyer via Arnold Robbins.
23139
23140 2003-11-17  Bruno Haible  <bruno@clisp.org>
23141
23142         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
23143         (Depends-on): Add xsize.
23144
23145 2003-11-17  Bruno Haible  <bruno@clisp.org>
23146
23147         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
23148
23149 2003-11-17  Bruno Haible  <bruno@clisp.org>
23150
23151         * lib/vasnprintf.c (alloca): Remove fallback definition.
23152         (freea): Remove definition.
23153         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
23154         Reported by Paul Eggert.
23155
23156 2003-11-16  Paul Eggert  <eggert@twinsun.com>
23157             Bruno Haible  <bruno@clisp.org>
23158
23159         Protect against address arithmetic overflow.
23160         * lib/printf-args.h: Include stddef.h.
23161         (arguments): Change type of field 'count' to size_t.
23162         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
23163         'unsigned int' where appropriate.
23164         * lib/printf-parse.h: Include sys/types.h.
23165         (char_directive): Change type of *arg_index fields to ssize_t.
23166         (char_directives): Change type of fields 'count', max_*_length to
23167         size_t.
23168         * lib/printf-parse.c: Include sys/types.h and xsize.h.
23169         (SSIZE_MAX): Define fallback value.
23170         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
23171         instead of 'int' where appropriate. Check a_allocated, d_allocated
23172         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
23173         * lib/vasnprintf.c: Include xsize.h.
23174         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
23175         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
23176         overflow. Avoid wraparound when converting a width or precision from
23177         decimal to binary.
23178
23179 2003-11-16  Bruno Haible  <bruno@clisp.org>
23180
23181         Update from GNU gettext.
23182         * lib/printf-parse.c: Generalize to it can be compiled for wide
23183         strings.
23184         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
23185         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
23186         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
23187         SNPRINTF): New macros.
23188         Don't include <alloca.h> if the file is used inside libintl.
23189         (local_wcslen): New function, for Solaris 2.5.1.
23190         (VASNPRINTF): Use it instead of wcslen.
23191
23192 2003-11-16  Bruno Haible  <bruno@clisp.org>
23193
23194         * lib/xsize.h (xmax): New function.
23195         (xsum, xsum3, xsum4): Declare as "pure" functions.
23196
23197 2003-11-12  Paul Eggert  <eggert@twinsun.com>
23198
23199         * modules/xalloc (Files): Undo latest change, since xalloc.h
23200         no longer needs SIZE_MAX or PTRDIFF_MAX.
23201
23202 2003-11-12  Paul Eggert  <eggert@twinsun.com>
23203
23204         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
23205         gl_PTRDIFF_MAX.
23206
23207 2003-11-12  Paul Eggert  <eggert@twinsun.com>
23208
23209         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
23210         "return", to pacify some unknown compiler.  Problem reported
23211         by Joerg Schilling.
23212
23213 2003-11-12  Paul Eggert  <eggert@twinsun.com>
23214
23215         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
23216         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
23217         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
23218         heuristic is just as accurate as far as we know, and it removes a
23219         dependency on size_max.m4 and ptrdiff_max.m4.
23220
23221 2003-11-11  Bruno Haible  <bruno@clisp.org>
23222
23223         * modules/xsize (Files): Add m4/size_max.m4.
23224         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
23225
23226 2003-11-11  Bruno Haible  <bruno@clisp.org>
23227
23228         * m4/size_max.m4: New file.
23229         * m4/ptrdiff_max.m4: New file.
23230         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
23231         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
23232         (gl_XALLOC): Invoke it.
23233
23234 2003-11-11  Bruno Haible  <bruno@clisp.org>
23235
23236         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
23237         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
23238         defined.
23239
23240 2003-11-10  Paul Eggert  <eggert@twinsun.com>
23241
23242         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
23243         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
23244         rejected some allocations of exactly SIZE_MAX - 2 bytes.
23245         From Bruno Haible.
23246         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
23247         not (size_t) -1, since it's defined here.
23248
23249 2003-11-09  Karl Berry  <karl@gnu.org>
23250
23251         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
23252
23253 2003-11-06  Paul Eggert  <eggert@twinsun.com>
23254
23255         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
23256         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
23257         Reject sizes of exactly SIZE_MAX bytes.
23258         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
23259         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
23260
23261 2003-11-05  Bruno Haible  <bruno@clisp.org>
23262
23263         * lib/xsize.h: Include limits.h, to avoid a possible collision with
23264         SIZE_MAX defined in <limits.h> on Solaris.
23265
23266 2003-11-04  Jim Meyering  <jim@meyering.net>
23267
23268         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
23269         variable names, rather than @VAR@.
23270         * modules/poll: Likewise.
23271
23272 2003-11-04  Bruno Haible  <bruno@clisp.org>
23273
23274         * modules/xsize: New file.
23275         * modules/linebreak: Depend on xsize.
23276         * MODULES.html.sh (func_all_modules): Add xsize.
23277
23278 2003-11-04  Bruno Haible  <bruno@clisp.org>
23279
23280         * m4/xsize.m4: New file.
23281
23282 2003-11-04  Bruno Haible  <bruno@clisp.org>
23283
23284         * lib/xsize.h: New file.
23285         * lib/linebreak.c: Include xsize.h.
23286         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
23287         argument for overflow.
23288         Suggested by Paul Eggert.
23289
23290 2003-11-03  Karl Berry  <karl@gnu.org>
23291
23292         * config/config.{guess,sub}: update from config.
23293
23294 2003-11-03  Jim Meyering  <jim@meyering.net>
23295
23296         * modules/userspec (lib_SOURCES): Add userspec.h.
23297         (Include): Add "userspec.h".
23298         Improve description.
23299
23300 2003-11-03  Jim Meyering  <jim@meyering.net>
23301
23302         * lib/userspec.c: Include "userspec.h".
23303         * lib/userspec.h: New file.
23304
23305 2003-11-03  Bruno Haible  <bruno@clisp.org>
23306
23307         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
23308
23309 2003-11-03  Bruno Haible  <bruno@clisp.org>
23310
23311         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
23312         available, to avoid (extremely rare) race condition.
23313         Suggested by Paul Eggert.
23314
23315 2003-11-02  Karl Berry  <karl@gnu.org>
23316
23317         * config/srclist.txt (vasprintf.c): sync broken, sigh.
23318
23319 2003-10-31  Paul Eggert  <eggert@twinsun.com>
23320
23321         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
23322         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
23323         (read_filesystem_list): Set and use me_type_malloced.
23324         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
23325         whatever the type happens to be), for brevity and consistency.
23326         Check for size calculation overflow on Alphas running OSF/1.
23327
23328 2003-10-31  Jim Meyering  <jim@meyering.net>
23329
23330         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
23331
23332         * lib/linebuffer.c: Include <string.h> for declaration of memset.
23333
23334 2003-10-30  Paul Eggert  <eggert@twinsun.com>
23335             Bruno Haible  <bruno@clisp.org>
23336
23337         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
23338         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
23339
23340 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
23341
23342         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
23343         netbsd*-gnu*.  Suggested by Robert Millan.
23344
23345 2003-10-29  Paul Eggert  <eggert@twinsun.com>
23346
23347         * modules/group-member: Depend on stdbool.
23348
23349 2003-10-29  Paul Eggert  <eggert@twinsun.com>
23350
23351         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
23352
23353 2003-10-29  Paul Eggert  <eggert@twinsun.com>
23354
23355         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
23356         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
23357         after the 'gnu' in these cases.  This fixes some bugs in the
23358         previous change, and is based on suggestions by Robert Millan.
23359
23360 2003-10-29  Paul Eggert  <eggert@twinsun.com>
23361
23362         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
23363         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
23364         no longer needed.
23365         * lib/quotearg.c (quotearg_n_options): Use it.
23366         * lib/group-member.c: Include <stdbool.h>.
23367         (free_group_info): Arg is now const *; don't free arg.
23368         (get_group_info): Now returns bool and accepts struct group_info *,
23369         rather than returning a malloc'ed struct group_info *.
23370         All uses changed.  Check for overflow in internal size calculation.
23371
23372         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
23373         rather than xmalloc/xrealloc.
23374         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
23375         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
23376         conformance bug: the old code used a pointer after freeing the
23377         storage that it addressed.
23378         * lib/hash.c (hash_initialize): Simplify the code by using
23379         xalloc_oversized rather than doing it by hand.
23380         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
23381         the buffer preserved.  Use free and xmalloc instead.
23382         * lib/quotearg.c (quotearg_n_options): Likewise.
23383         Use a simpler test for size overflow.  Don't use xalloc_oversized
23384         because unsigned int might be wider than size_t (!); this suggests
23385         that we should switch from unsigned int to size_t for slot numbers.
23386
23387 2003-10-28  Paul Eggert  <eggert@twinsun.com>
23388
23389         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
23390         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
23391         NetBSD kernels.  Requested by Richard Stallman.
23392
23393 2003-10-27  Paul Eggert  <eggert@twinsun.com>
23394
23395         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
23396         to allocate the returned structure.  Do not allocate a subarray,
23397         as x2nrealloc will do that.
23398         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
23399         instead of xnrealloc.
23400         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
23401
23402 2003-10-27  Bruno Haible  <bruno@clisp.org>
23403
23404         * lib/stdbool_.h: Better support for BeOS.
23405
23406 2003-10-26  Paul Eggert  <eggert@twinsun.com>
23407
23408         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
23409         now uses inline.
23410
23411 2003-10-26  Paul Eggert  <eggert@twinsun.com>
23412
23413         * lib/xalloc.h (xalloc_oversized): New static inline function, for
23414         callers that want to do their own size-overflow checking.  Include
23415         <stdbool.h>, since xalloc_oversized returns bool.
23416         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
23417         to use xalloc_oversized.
23418
23419         Add two functions x2realloc, x2nrealloc, for programs that grow
23420         arrays dynamically by doubling their sizes.
23421         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
23422         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
23423         New functions.
23424
23425         Port to C99 semantics for 'inline' of external functions.
23426         Bug reported by Bruno Haible.
23427         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
23428         with the old contents of xnmalloc.
23429         (xnmalloc, xmalloc): Use it.
23430         (xnrealloc_inline): New static inline function,
23431         with the old contents of xnrealloc.
23432         (xnrealloc, xrealloc): Use it.
23433
23434         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
23435         that.
23436
23437 2003-10-26  Karl Berry  <karl@gnu.org>
23438
23439         * config/srclist.txt (COPYING.DOC): no longer available from
23440         /gd/gnuorg; don't know where the ultimate source is.
23441
23442 2003-10-25  Paul Eggert  <eggert@twinsun.com>
23443
23444         Fix several address-calculation bugs in the hash modules,
23445         plus some minor code cleanup.
23446
23447         * lib/hash.h: Include <stdbool.h>, for bool.
23448         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
23449         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
23450         hash_get_n_entries, hash_get_max_bucket_length,
23451         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
23452         hash_rehash): Use size_t rather than unsigned.
23453         * lib/hash.c (struct hash_table, hash_get_n_buckets,
23454         hash_get_n_buckets_used, hash_get_n_entries,
23455         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
23456         hash_get_entries, hash_do_for_each, hash_string, is_prime,
23457         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
23458         Likewise.
23459         (SIZE_MAX): Define if not defined.
23460         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
23461         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
23462         hash_print):
23463         Use const * when possible.
23464         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
23465         (check_tuning): Fix bug: if tuning parameters were very close to
23466         0 or 1, rounding errors could have caused subscript violations.
23467         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
23468         (hash_initialize): Add 'fail:' label
23469         to free table and return NULL, and use it to simplify code.
23470         Use calloc rather than clearing the storage ourself.
23471         (hash_initialize, hash_rehash): Check for arithmetic overflow in
23472         buffer size calculations.
23473         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
23474         Include <stddef.h>, for size_t.
23475         * lib/hash-pjw.c (hash_pjw): Likewise.
23476         Switch to method described by Bruno Haible.
23477         Include <limits.h>, for CHAR_BIT.
23478         (SIZE_BITS): New macro.
23479
23480 2003-10-23  Paul Eggert  <eggert@twinsun.com>
23481
23482         * m4/getline.m4 (AM_FUNC_GETLINE):
23483         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
23484         hosts.  Problem reported by Derek Robert Price in
23485         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
23486         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
23487         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
23488
23489 2003-10-21  Paul Eggert  <eggert@twinsun.com>
23490
23491         * lib/getndelim2.c (getndelim2): When size calculation overflows,
23492         ceiling the allocation at NMAX bytes rather than silently
23493         discarding input bytes before NMAX is reached.  This makes
23494         a difference only if NMAX exceeds SIZE_MAX / 2.
23495
23496         * lib/obstack.c: Merge from glibc.
23497         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
23498         Add libc_hidden_def (_obstack_newchunk).
23499         (_obstack_free) [! defined _LIBC]: Remove.
23500         [defined _LIBC]: Make a strong alias from obstack_free, rather than
23501         a clone of the function body.
23502         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
23503         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
23504
23505         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
23506         glibc.
23507         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
23508         arg to memcpy.
23509
23510         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
23511         (obstack_ptr_grow_fast, obstack_int_grow_fast):
23512         Don't use lvalue casts, as GCC plans to remove support for them
23513         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
23514         was also present in the non-GCC version, indicating that this
23515         code had always been buggy and had never been widely used.
23516         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
23517         Use the fast variant of each macro, rather than copying the
23518         definiens of the fast variant; that way, we'll be more likely to
23519         catch future bugs in the fast variants.
23520
23521 2003-10-20  Bruno Haible  <bruno@clisp.org>
23522
23523         * modules/wait-process: New file.
23524         * MODULES.html.sh (func_all_modules): Add wait-process.
23525
23526 2003-10-20  Bruno Haible  <bruno@clisp.org>
23527
23528         * m4/wait-process.m4: New file.
23529
23530 2003-10-20  Bruno Haible  <bruno@clisp.org>
23531
23532         * lib/wait-process.h: New file, from GNU gettext.
23533         * lib/wait-process.c: New file, from GNU gettext.
23534
23535 2003-10-19  Jim Meyering  <jim@meyering.net>
23536
23537         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
23538         HPUX 10.20.
23539
23540 2003-10-18  Karl Berry  <karl@gnu.org>
23541
23542         * config/config.guess: update from config.
23543
23544 2003-10-16  Paul Eggert  <eggert@twinsun.com>
23545
23546         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
23547         (getgroups): First arg is int, not size_t.
23548         Don't let 'free' mangle errno.
23549
23550 2003-10-16  Paul Eggert  <eggert@twinsun.com>
23551
23552         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
23553
23554 2003-10-16  Karl Berry  <karl@gnu.org>
23555
23556         * config/config.{guess,sub}: update from config.
23557
23558 2003-10-16  Jim Meyering  <jim@meyering.net>
23559
23560         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
23561         memcpy.
23562
23563 2003-10-15  Paul Eggert  <eggert@twinsun.com>
23564
23565         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
23566         (SIZE_MAX): Remove.
23567         (new_exclude, add_exclude_file): Initial size no longer needs to
23568         be a power of 2.
23569         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
23570         our own address arithmetic overflow checking.
23571
23572         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
23573         (fnmatch): Do not alloca more than 2000 wide characters;
23574         instead, use malloc for large buffers.
23575         Check for address arithmetic overflow, and return -1
23576         with errno set to ENOMEM in that case.
23577         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
23578         (NEW_PATTERN): Do not alloca more than 8000 bytes;
23579         instead, return -1.  Check for address arithmetic overflow.
23580
23581 2003-10-14  Paul Eggert  <eggert@twinsun.com>
23582
23583         Handle invalid suffixes and overflow independently, so that
23584         callers can treat them independently as needed.  Fix some bugs in
23585         suffix handling, e.g., "100k@" was not diagnosed as an invalid
23586         suffix for a human-readable blocksize.  The major caller-visible
23587         change is the addition of a new
23588         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
23589         that both overflow and suffix chars were found.
23590
23591         * lib/human.c (humblock): Don't check separately for invalid suffix
23592         char; that is xstrtoumax's job (now that its bug is fixed).
23593         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
23594         INTMAX_MAX]: New macros.
23595         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
23596         TYPE_MAXIMUM): New macros.
23597         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
23598         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
23599         if overflow occurs, as it's what __strtol does and it's more useful
23600         in practice.
23601         (__xstrtol): If __strtol reports some error other than ERANGE,
23602         reflect it to the caller as LONGINT_INVALID.  If it reports
23603         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
23604         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
23605         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
23606         value.
23607         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
23608         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
23609         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
23610         [defined UINTMAX_MAX]: New macros.
23611
23612 2003-10-14  Bruno Haible  <bruno@clisp.org>
23613
23614         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
23615
23616 2003-10-14  Bruno Haible  <bruno@clisp.org>
23617
23618         * m4/sig_atomic_t: New file, from GNU gettext.
23619         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
23620
23621 2003-10-14  Bruno Haible  <bruno@clisp.org>
23622
23623         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
23624         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
23625         Also use volatile where needed.
23626
23627 2003-10-12  Paul Eggert  <eggert@twinsun.com>
23628
23629         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
23630         Change maintainer from Bruno Haible to 'all'.
23631
23632 2003-10-12  Paul Eggert  <eggert@twinsun.com>
23633
23634         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
23635
23636 2003-10-12  Paul Eggert  <eggert@twinsun.com>
23637
23638         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
23639         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
23640         and define in terms of the other primitives.
23641         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
23642         (SIZE_MAX): Define if not already defined.
23643         (array_size_overflow): New function.
23644         (xalloc_die): Abort instead of exiting if 'error' returns.
23645         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
23646         (xmalloc, xrealloc): Use them.
23647         (xcalloc): Check for address arithmetic overflow.
23648         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
23649         a bit faster than strcpy.
23650
23651 2003-10-10  Simon Josefsson  <jas@extundo.com>
23652
23653         * modules/argp (Depends-on): Add restrict and strcase.
23654
23655 2003-10-10  Simon Josefsson  <jas@extundo.com>
23656
23657         * m4/argp.m4: Add AC_C_INLINE.
23658
23659 2003-10-08  Paul Eggert  <eggert@twinsun.com>
23660
23661         Merge getpass from libc, plus a few fixes.
23662
23663         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
23664         Include <stdbool.h>.
23665         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
23666         __fsetlocking to empty.
23667         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
23668         do include <bits/libc-lock.h>.
23669         Do not include <fcntl.h>; not needed.
23670         [_LIBC]: Include <wchar.h>.
23671         (NOTCANCEL_MODE): New macro.
23672         (flockfile, funlockfile) [_LIBC]: New macros.
23673         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
23674         [!_LIBC]: New macros.
23675         (call_fclose): New function.
23676         (getpass): Use it.  Save tty stream separately; this simplifies the
23677         code and makes it more reliable if stdin happens to equal stdout.
23678         Invoke __fsetlocking on tty.
23679         Handle thread cancellation if needed.
23680         Namespace cleanup (use __tcgetattr, __getline).
23681         Use bool for Booleans.
23682         [USE_IN_LIBIO]: Handle wide streams.
23683         [!_LIBC]: Unconditionally do the fseek, since we don't know what
23684         stream might go where.
23685
23686         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
23687         doesn't have to include <stdio.h> before us.
23688         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
23689         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
23690         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
23691         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
23692         if not declared, so that we can use getpass.c code from libc without
23693         rewriting it.
23694         (flockfile, ftrylockfile, funlockfile): New macros.
23695
23696 2003-10-08  Paul Eggert  <eggert@twinsun.com>
23697
23698         * modules/getpass: Depend on stdbool.
23699
23700 2003-10-08  Paul Eggert  <eggert@twinsun.com>
23701
23702         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
23703
23704 2003-10-07  Karl Berry  <karl@gnu.org>
23705
23706         * config/config.{guess,sub}: update from config.
23707
23708 2003-10-06  Jim Meyering  <jim@meyering.net>
23709             Bruno Haible  <bruno@clisp.org>
23710
23711         This lets translators provide better translations for the
23712         "Written by ..." part of --version output.
23713         * lib/version-etc.h: Include stdarg.h.
23714         (version_etc_copyright): Declare as readonly.
23715         (version_etc): Make this function variadic with a NULL-terminated list
23716         of author name strings.
23717         (version_etc_va): New declaration.
23718         * lib/version-etc.c: Include stdarg.h, stdlib.h.
23719         (version_etc_copyright): Declare as readonly.
23720         (version_etc_va): New function. Provide a different translatable string
23721         for each possible number of authors < 10. Abbreviate when there are 10
23722         authors or more.
23723         (version_etc): Make this function variadic. Call version_etc_va.
23724         Suggestion from Gary V. Vaughan.
23725
23726         * lib/long-options.h (parse_long_options): Change prototype: the
23727         authors string is moved to the end and becomes variadic.
23728         * lib/long-options.c: Include stdarg.h.
23729         (parse_long_options): Make this function variadic, too.
23730         Call version_etc_va, not version_etc.
23731
23732 2003-10-06  Bruno Haible  <bruno@clisp.org>
23733
23734         * modules/version-etc-2: Remove file.
23735         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
23736
23737 2003-10-06  Bruno Haible  <bruno@clisp.org>
23738
23739         * modules/fatal-signal: New file.
23740         * MODULES.html.sh (func_all_modules): Add fatal-signal.
23741
23742 2003-10-06  Bruno Haible  <bruno@clisp.org>
23743
23744         * m4/fatal-signal.m4: New file.
23745         * m4/signalblocking.m4: New file, from GNU gettext.
23746
23747 2003-10-06  Bruno Haible  <bruno@clisp.org>
23748
23749         * lib/version-etc-2.h: Remove file.
23750         * lib/version-etc-2.c: Remove file.
23751
23752 2003-10-06  Bruno Haible  <bruno@clisp.org>
23753
23754         * lib/fatal-signal.h: New file, from GNU gettext.
23755         * lib/fatal-signal.c: New file, from GNU gettext.
23756
23757 2003-10-05  Paul Eggert  <eggert@twinsun.com>
23758
23759         * README: Rework advice for preventing empty .o files.
23760         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
23761         not <sys/types.h>.
23762
23763 2003-10-04  Karl Berry  <karl@gnu.org>
23764
23765         * lib/argp*: update from libc.
23766
23767 2003-10-04  Karl Berry  <karl@gnu.org>
23768
23769         * config/config.{guess,sub}: update from config.
23770
23771 2003-10-02  Bruno Haible  <bruno@clisp.org>
23772
23773         * modules/lchown (Include): Add lchown.h.
23774         * modules/time_r (Include): Use "..." syntax.
23775         * modules/xgetdomainname (Include): Add xgetdomainname.h.
23776
23777 2003-10-01  Simon Josefsson  <jas@extundo.com>
23778
23779         * MODULES.html.sh (func_all_modules): Move gethostname from section
23780         'based on' to section 'lacking' POSIX:2001.
23781
23782 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
23783
23784         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
23785         to output mode on the same stream.
23786
23787 2003-09-29  Paul Eggert  <eggert@twinsun.com>
23788
23789         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
23790         Fix arg typo in previous patch.
23791
23792 2003-09-28  Jim Meyering  <jim@meyering.net>
23793
23794         * lib/error.c: Correct cpp indentation.
23795
23796 2003-09-27  Paul Eggert  <eggert@twinsun.com>
23797
23798         * modules/free: New file.
23799
23800 2003-09-27  Paul Eggert  <eggert@twinsun.com>
23801
23802         * m4/free.m4: New file.
23803
23804 2003-09-27  Paul Eggert  <eggert@twinsun.com>
23805
23806         * lib/minmax.h (MIN, MAX)
23807         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
23808         Omit the special code that used __typeof__, since we worry that
23809         it could be more trouble than it's worth.  See:
23810         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
23811         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
23812
23813         * lib/free.c: New file.
23814
23815 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
23816
23817         Trivial fixes to Makefile.am parts of module listings.
23818         * modules/strstr: Append strstr.h to lib_SOURCES.
23819         * modules/strcase: Likewise, for strcase.h.
23820
23821 2003-09-27  Karl Berry  <karl@gnu.org>
23822
23823         * config/mkinstalldirs: update from automake.
23824
23825 2003-09-26  Paul Eggert  <eggert@twinsun.com>
23826
23827         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
23828         (error_tail): Do not loop, reallocating temporary buffer, since
23829         the output cannot contain more wide characters than the input
23830         contains bytes, the size must be big enough already.  This avoids
23831         one potential size overflow calculation.  Check for size overflow
23832         when calculating temporary buffer size.  Free temporary buffer
23833         when done, if it was allocated with malloc; this plugs a memory
23834         leak.  Remove casts from void * to pointers, that are no longer
23835         needed now that we're assuming C89 or better.
23836
23837         Merge error changes from glibc.
23838
23839         * lib/error.c, error.h: Update copyright notice header to match glibc.
23840         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
23841         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
23842         Disable cancellation while printing error.
23843         * lib/error.h: Prepend __ to parameter names.
23844
23845 2003-09-26  Jim Meyering  <jim@meyering.net>
23846
23847         * lib/error.c (error_tail): Move some declarations
23848         into inner scope where the local variables are used.
23849
23850 2003-09-26  Bruno Haible  <bruno@clisp.org>
23851
23852         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
23853         stpncpy().
23854         Don't define stpncpy through config.h; it's now done through stpncpy.h.
23855
23856 2003-09-26  Bruno Haible  <bruno@clisp.org>
23857
23858         * lib/stpncpy.h (gnu_stpncpy): New declaration.
23859         (stpncpy): Define as alias for gnu_stpncpy.
23860         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
23861
23862 2003-09-25  Simon Josefsson  <jas@extundo.com>
23863
23864         * lib/xgetdomainname.h: New file.
23865         * lib/xgetdomainname.c: New file.
23866
23867 2003-09-25  Simon Josefsson  <jas@extundo.com>
23868             Bruno Haible  <bruno@clisp.org>
23869
23870         * modules/getdomainname: New file.
23871         * modules/xgetdomainname: New file.
23872         * MODULES.html.sh (func_all_modules): Add getdomainname,
23873         xgetdomainname.
23874
23875 2003-09-25  Simon Josefsson  <jas@extundo.com>
23876             Bruno Haible  <bruno@clisp.org>
23877
23878         * m4/getdomainname.m4: New file.
23879
23880 2003-09-25  Simon Josefsson  <jas@extundo.com>
23881             Bruno Haible  <bruno@clisp.org>
23882
23883         * lib/getdomainname.h: New file.
23884         * lib/getdomainname.c: New file.
23885
23886 2003-09-25  Karl Berry  <karl@gnu.org>
23887
23888         * lib/argp-fmtstream.c, argp-help.c: update from libc.
23889
23890 2003-09-25  Karl Berry  <karl@gnu.org>
23891
23892         * config/install-sh: update from automake.
23893
23894 2003-09-25  Bruno Haible  <bruno@clisp.org>
23895
23896         * modules/version-etc-2: New file, from modules/version-etc with
23897         modifications.
23898         * MODULES.html.sh (func_all_modules): Add version-etc-2.
23899
23900 2003-09-25  Bruno Haible  <bruno@clisp.org>
23901
23902         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
23903         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
23904
23905 2003-09-24  Simon Josefsson  <jas@extundo.com>
23906
23907         * modules/xgethostname: Add xgethostname.h.
23908
23909 2003-09-24  Paul Eggert  <eggert@twinsun.com>
23910
23911         * lib/linebuffer.c (freebuffer): Don't free the argument, just
23912         the buffer associated with the argument.  Bug reported by
23913         Simon Josefsson.
23914
23915 2003-09-24  Paul Eggert  <eggert@twinsun.com>
23916
23917         * README: Document assumptions that 'int' is at least 32 bits
23918         wide, that integer arithmetic is 2's complement without overflow,
23919         that there are no holes in integer values, that adding sizes of
23920         two nonoverlapping objects can't overflow, and that all-bits-zero
23921         yields scalar zero.  Fix spelling and capitalization typos.
23922
23923 2003-09-19  Karl Berry  <karl@gnu.org>
23924
23925         * lib/argp.h: update from libc.
23926
23927 2003-09-17  Paul Eggert  <eggert@twinsun.com>
23928
23929         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
23930         to avoid spurious warnings like "AC_RUN_IFELSE was called before
23931         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
23932
23933 2003-09-17  Paul Eggert  <eggert@twinsun.com>
23934
23935         * gnulib-tool: Use "test -h", not "test -L", for portability
23936         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
23937         (tags_regexp): Remove, since \| doesn't conform to POSIX.
23938         (sed_extract_prog): Issue s commands one-by-one, rather than
23939         using \| in one s command.
23940
23941 2003-09-16  Paul Eggert  <eggert@twinsun.com>
23942
23943         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
23944         input error, instead of returning NULL the next time we are called
23945         (and therefore losing track of errno).
23946
23947 2003-09-16  Bruno Haible  <bruno@clisp.org>
23948
23949         * gnulib-tool (func_create_testdir): Warn about duplicated
23950         dependencies.
23951
23952 2003-09-15  Paul Eggert  <eggert@twinsun.com>
23953
23954         * modules/argmatch, modules/fatal, modules/obstack,
23955         modules/xalloc, modules/xgethostname: Sort dependencies by
23956         importance, not alphabetically.
23957
23958 2003-09-15  Paul Eggert  <eggert@twinsun.com>
23959
23960         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
23961         fails, so that the caller gets the proper errno.
23962
23963         * lib/readutmp.c (read_utmp): Likewise.
23964         Check for fstat error.  Close stream and free storage
23965         when failing.
23966
23967 2003-09-14  Karl Berry  <karl@gnu.org>
23968
23969         * config/srclist.txt (strdup.c): disable for c89 changes.
23970
23971 2003-09-14  Jim Meyering  <jim@meyering.net>
23972
23973         * lib/getloadavg.c: Correct cpp indentation.
23974         * lib/strdup.c: Likewise.
23975         * lib/vasnprintf.c: Likewise.
23976
23977 2003-09-14  Bruno Haible  <bruno@clisp.org>
23978
23979         * modules/fwriteerror: New file.
23980         * MODULES.html.sh (func_all_modules): Add fwriteerror.
23981
23982 2003-09-14  Bruno Haible  <bruno@clisp.org>
23983
23984         * lib/fwriteerror.h: New file.
23985         * lib/fwriteerror.c: New file.
23986
23987 2003-09-12  Paul Eggert  <eggert@twinsun.com>
23988
23989         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
23990         modules/xgethostname, modules/xalloc: Depend on exit.
23991
23992 2003-09-12  Paul Eggert  <eggert@twinsun.com>
23993
23994         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
23995
23996         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
23997         and AC_MINIX, too, so that their extensions are available.
23998
23999         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
24000         This macro has been superseded by gl_BACKUPFILE.
24001
24002         More patches to assume C89 or better.
24003
24004         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
24005
24006         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
24007         unconditionally.
24008         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
24009         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
24010         Include <string.h>, <stdlib.h> unconditionally.
24011         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
24012         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
24013         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
24014         headers or for string.h.
24015         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
24016         or strtoul.
24017
24018         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
24019         headers.
24020         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
24021         * m4/userspec.m4 (gl_USERSPEC): Likewise.
24022         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
24023         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
24024         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
24025         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
24026         memcpy, memset.
24027         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
24028         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
24029         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
24030         strtol.
24031         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
24032         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
24033         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
24034         strtoul.
24035
24036 2003-09-12  Paul Eggert  <eggert@twinsun.com>
24037
24038         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
24039         * lib/obstack.c [!defined _LIBC]: Likewise.
24040         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
24041         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
24042         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
24043
24044         More changes to assume C89 or better.
24045
24046         * lib/error.c (error_tail): Assume vprintf.
24047
24048         * lib/argmatch.c (getenv): Remove decl.
24049         * lib/progreloc.c (get_full_program_name): Define via prototype.
24050         * lib/setenv.c (clearenv): Likewise.
24051         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
24052         needed.
24053         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
24054         (malloc, memcpy): Remove decls.
24055         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
24056         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
24057         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
24058         (memcpy): Remove macro.
24059         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
24060         (__P): Remove.  All uses removed.
24061         (PTR): Remove.  All uses changed to void *.
24062         (CHAR_BIT, NULL): Remove.
24063         (spaces, zeros, memset_space, memset_zero)
24064         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
24065         Remove.
24066         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
24067         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
24068         Define with prototype.
24069         Remove now-unnecessary prototype decl.
24070         (extra_args_spec): Assume ANSI C.  All uses changed.
24071         (extra_args_spec_iso): Remove.
24072         (my_strftime, emacs_strftimeu): Define via prototype.
24073         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
24074         unconditionally.
24075         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
24076         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
24077         (strtoul, strtol): Remove decls.
24078         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
24079         LONG_MAX): Remove.
24080         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
24081         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
24082         (LOCALE_PARAM_PROTO): New macro.
24083         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
24084         (INTERNAL (strtol), strtol): Define with a prototype.
24085         (PARAMS): Remove.  All uses removed.
24086         * lib/tempname.c: Include <string.h> unconditionally.
24087         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
24088         * lib/xgethostname.c (main): Define with a prototype.
24089         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
24090         Include <stdlib.h> unconditionally.
24091         (calloc, malloc, realloc, free): Remove decls.
24092         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
24093         Include <stdlib.h> unconditionally.  Sort include file names.
24094         (strtod): Remove.
24095         (xstrtod): Define with a prototype.
24096         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
24097         (strtol, strtoul): Remove decls.
24098
24099 2003-09-11  Paul Eggert  <eggert@twinsun.com>
24100
24101         More patches to assume C89 or better.
24102         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
24103         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
24104         string.h, memchr, STDC_HEADERS.
24105
24106 2003-09-11  Paul Eggert  <eggert@twinsun.com>
24107
24108         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
24109         Include <stdlib.h>, <string.h> unconditionally.
24110         Remove now-unnecessary cast to char *.
24111         * lib/strnlen.c: Include <string.h> unconditionally.
24112         * lib/yesno.c (yesno): Define with a prototype.
24113
24114 2003-09-11  Bruno Haible  <bruno@clisp.org>
24115
24116         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
24117
24118 2003-09-10  Jim Meyering  <jim@meyering.net>
24119
24120         * lib/error.c: Correct indentation of cpp directives.
24121
24122 2003-09-10  Bruno Haible  <bruno@clisp.org>
24123
24124         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
24125         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
24126         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
24127         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
24128         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
24129         <stdlib.h> and <string.h> checks.
24130         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
24131         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
24132
24133 2003-09-10  Bruno Haible  <bruno@clisp.org>
24134
24135         * lib/strcspn.c: Include <string.h> unconditionally.
24136         * lib/strpbrk.c: Include <string.h> unconditionally.
24137         * lib/strstr.c: Include <string.h> unconditionally.
24138         * lib/unicodeio.c: Include <string.h> unconditionally.
24139         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
24140         * lib/unsetenv.c: Likewise.
24141         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
24142         * lib/yesno.c: Include <stdlib.h> unconditionally.
24143         (rpmatch): Add prototype.
24144
24145 2003-09-09  Paul Eggert  <eggert@twinsun.com>
24146
24147         More patches to assume C89 or better.
24148         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
24149         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
24150         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
24151         or for string.h.
24152         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
24153         stdlib.h.
24154         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
24155         C headers.
24156         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
24157         string.h.
24158         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
24159         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
24160         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
24161         or for string.h.
24162         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
24163         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
24164         C headers.
24165         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
24166         memcpy.
24167         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
24168         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
24169         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
24170         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
24171         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
24172         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
24173         string.h, free.
24174         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
24175         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
24176         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
24177         C headers, or for string.h.
24178         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
24179         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
24180         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
24181         headers, memory.h, stdlib.h, string.h, strings.h.
24182         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
24183         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
24184         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
24185         strchr.
24186         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
24187         headers, memory.h, string.h.
24188         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
24189         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
24190         free.
24191         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
24192         headers.
24193         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
24194         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
24195         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
24196         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
24197         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
24198
24199 2003-09-09  Paul Eggert  <eggert@twinsun.com>
24200
24201         More K&R removal.
24202
24203         * lib/acosl.c (main): Use a prototype.
24204         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
24205         tanl.c: Likewise.
24206
24207         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
24208
24209         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
24210         (getopt, etopt_long, getopt_long_only, _getopt_internal)
24211         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
24212         with a prototype.
24213         * lib/getopt.c (const): Remove macro.
24214         Include <string.h> unconditionally.
24215         (my_index): Remove; all uses changed to strchr.
24216         (strlen): Remove decl.
24217         (exchange): Remove forward decl; no longer needed.
24218         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
24219         Define with prototype.
24220         * lib/getopt1.c (const): Remove macro.
24221         (getopt_long, getopt_long_only, main): Define with prototype.
24222
24223         * lib/getugroups.c: Include <string.h> unconditionally.
24224
24225         * lib/getusershell.c: Include <stdlib.h> unconditionally.
24226         (getusershell, setusershell, endusershell, readname, main):
24227         Define with prototypes.
24228
24229         * lib/group-member.c: Include group-member.h first.
24230         Include <stdlib.h> unconditionally.
24231
24232         * lib/hard-locale.c: Include hard-locale.h first.
24233         Include <stdlib.h>, <string.h> unconditionally.
24234
24235         * lib/hash.c (free, malloc): Remove decls.
24236         Include <stdlib.h> unconditionally.
24237
24238         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
24239         (getenv): Do not declare.
24240
24241         * lib/idcache.c: Include <string.h> unconditionally.
24242
24243         * lib/long-options.c: Include long-options.h first, to test interface.
24244         Include <stdlib.h> unconditionally.
24245
24246         * lib/makepath.c: Include makepath.h first, to test interface.
24247         Include <stdlib.h> and <string.h> unconditionally.
24248
24249         * lib/linebuffer.c: Include <stdlib.h>.
24250         (free): Remove decl.
24251
24252         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
24253         stddef.h. rpl_malloc returns void *, not char *.
24254         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
24255         prototype.
24256
24257         * lib/md5.h: Include <limits.h> unconditionally.
24258         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
24259         (__P): Remove; all uses removed.
24260         * lib/md5.c: Include "md5.h" first.
24261         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
24262         md5_buffer, md5_process_bytes, md5_process_block):
24263         Define with prototypes.
24264         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
24265         * lib/sha.c: Include "sha.h" first.
24266         Include <stdlib.h>, <string.h> unconditionally.
24267
24268         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
24269         * lib/memcmp.c (__ptr_t): Likewise.
24270         * lib/memrchr.c (__ptr_t): Likewise.
24271         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
24272         Include <string.h> unconditionally.
24273         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
24274         * lib/memchr.c: Include <stdlib.h> unconditionally.
24275         * lib/memchr.c (LONG_MAX): Remove.
24276         * lib/memrchr.c (LONG_MAX): Likewise.
24277         * lib/memchr.c (__memchr): Define via a prototype.
24278         * lib/memrchr.c (__memrchr): Likewise.
24279         * lib/memcmp.c (__P): Remove, and remove all uses.
24280         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
24281         Remove forward decls; no longer needed.
24282         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
24283         Use types required by C89 in prototype.
24284
24285         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
24286         * lib/savedir.c: Likewise.
24287         * lib/mkdir.c (free): Remove decl.
24288         * lib/rmdir.c (rmdir): Define with a prototype.
24289         * lib/savedir.c: Include savedir.h first, to test interface.
24290
24291         * lib/mktime.c (STDC_HEADERS): Remove.
24292         Include <stdlib.h>, <string.h> unconditionally.
24293
24294         * lib/modechange.c: Include <stdlib.h> unconditionally.
24295         (malloc): Remove decl.
24296
24297         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
24298         (free): Remove decl.
24299
24300         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
24301         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
24302         (This type really should be intptr_t, but that's a C99ism.)
24303         (_obstack_memcpy): Remove: all uses changed to memcpy.
24304         Include <string.h> unconditionally.
24305         (struct obstack): Assume __STDC__ for types of members
24306         chunkfun, freefun, extra_arg.
24307         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
24308         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
24309         obstack_begin, obstack_specify_allocation,
24310         obstack_specify_allocation_with_arg, obstack_chunkfun,
24311         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
24312         Remove unprototyped decls and the macros that use them.
24313         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
24314         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
24315         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
24316         (defined __STDC__ && __STDC__)]:
24317         Remove nonprototyped code.
24318         Include <stdlib.h> unconditionally.
24319         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
24320         _obstack_allocated_p, _obstack_free, obstack_free,
24321         _obstack_memory_used, print_and_abort):
24322         Define using prototypes.
24323         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
24324         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
24325         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
24326         obstack_next_free, obstack_object_size, obstack_room) [0]:
24327         Remove unused, unprototyped code.
24328
24329         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
24330
24331         * lib/physmem.c (physmem_total, physmem_available, main): Define
24332         with prototypes.
24333
24334         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
24335         (main): Define with a prototype.
24336
24337         * lib/posixver.c (getenv): Remove decl.
24338
24339         * lib/putenv.c (malloc): Returns void *, not char *.
24340         Include <string.h> unconditionally.
24341         (strchr, memcpy, NULL): Do not define.
24342
24343         * lib/readtokens.c: Include readtokens.h first, to test interface.
24344         Include <stdlib.h>, <string.h> unconditionally.
24345         (init_tokenbuffer): Define with a prototype.
24346
24347         * lib/regex.c (PARAMS): Remove.  All uses removed.
24348         All uses of _RE_ARGS removed, too.
24349         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
24350         unconditionally.
24351         (bzero): Assume memset exists.
24352         (memcmp, memcpy, NULL): Remove.
24353         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
24354         char, or assignments to local vars of type signed char.
24355         (init_syntax_once, PREFIX(extract_number_and_incr),
24356         PREFIX(print_partial_compiled_pattern),
24357         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
24358         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
24359         PREFIX(regex_grow_registers), PREFIX(regex_compile),
24360         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
24361         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
24362         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
24363         wcs_compile_range, byte_compile_range, truncate_wchar,
24364         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
24365         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
24366         count_mbs_length, wcs_re_match_2_internal,
24367         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
24368         PREFIX(alt_match_null_string_p),
24369         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
24370         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
24371         regfree, PREFIX(extract_number)): Define with prototype.  Remove
24372         now-unnecessary declaration, if any.
24373         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
24374         regcomp, regexec):
24375         Remove now-unnecessary casts among pointer types.
24376         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
24377
24378         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
24379         (free): Remove decl.
24380
24381         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
24382
24383         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
24384         (free): Remove decl.
24385
24386         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
24387         * lib/xgetcwd.c: Likewise.
24388
24389         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
24390         (free): Remove decl.
24391
24392         * lib/strchrnul.c (strchrnul): Define with a prototype.
24393         Fix bug: c_in was not converted to char before searching.
24394
24395         The following changes are not K&R related:
24396
24397         * lib/group-member.h: Include <sys/types.h>, so that this file is
24398         self-contained.
24399         * lib/makepath.h: Likewise.
24400
24401         * lib/getusershell.c (readname, default_index, line_size, readname):
24402         Use size_t, not int, for sizes.
24403         (readname): If the size overflows, report an error instead of
24404         looping forever.
24405
24406 2003-09-09  Paul Eggert  <eggert@twinsun.com>
24407
24408         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
24409         libc.
24410
24411 2003-09-09  Paul Eggert  <eggert@twinsun.com>
24412
24413         * README: New section: portability guidelines.
24414
24415 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
24416
24417         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
24418         C89 spec.
24419
24420 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
24421
24422         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
24423
24424 2003-09-08  Paul Eggert  <eggert@twinsun.com>
24425
24426         Assume C89 or better; remove K&R cruft.
24427         A few of these changes were first proposed by Derek Robert Price
24428         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
24429
24430         * lib/addext.c: Include <string.h> unconditionally.
24431         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
24432         Don't declare getenv or malloc.
24433
24434         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
24435         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
24436         (NULL): Remove.
24437         (find_stack_direction, alloca): Use prototypes.
24438
24439         * lib/atexit.c (atexit): Define using a prototype.
24440
24441         * lib/basename.c, dirname.c, stripslash.c:
24442         Include <string.h> unconditionally.
24443
24444         * lib/bcopy.c: Include <stddef.h>.
24445         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
24446
24447         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
24448
24449         * lib/error.h (error, error_at_line, error_print_progname)
24450         [! (defined (__STDC__) && __STDC__)]: Remove decls.
24451         * lib/error.c: Include error.h first, to check interface.
24452         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
24453         (VA_START): Remove; all uses changeed to va_start.
24454         (exit, strerror): Remove decls.
24455         (error_print_progname): Prototype uncondionally.
24456         Don't include <errno.h>; no longer needed.
24457         (private_strerror): Remove.
24458         (error_tail): Always define.
24459         (error, error_at_line): Assume C89 or better; always use prototypes.
24460         * lib/fatal.c: Include "fatal.h" first, to test interface.
24461         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
24462         (VA_START): Remove; all uses changed to va_start.
24463         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
24464         this case.
24465         (exit): Remove decl.
24466         (fatal): Prototype unconditionally.  Assume va_start works.
24467         Abort at end, to pacify gcc.
24468
24469         * lib/euidaccess.c (main): Define with a prototype.
24470
24471         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
24472
24473         * lib/exitfail.c: Include <stdlib.h> unconditionally.
24474
24475         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
24476         prototypes.
24477         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
24478         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
24479         (getenv): Remove decl.
24480         (fnmatch): Define using a prototype.
24481         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
24482         (FCT): Define using a prototype.
24483
24484         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
24485
24486         * lib/gethostname.c: Include <stddef.h>.
24487         (gethostname): Define with prototype.  Length is size_t, not int.
24488
24489 2003-09-08  Paul Eggert  <eggert@twinsun.com>
24490
24491         Assume C89 or better; remove K&R cruft.
24492         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
24493         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
24494         string.h, getenv, malloc.
24495         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
24496         headers.
24497         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
24498         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
24499         do not check for strerror.
24500         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
24501         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
24502         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
24503         do not check for doprnt or vprintf.
24504         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
24505         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
24506
24507 2003-09-08  Paul Eggert  <eggert@twinsun.com>
24508
24509         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
24510         getversion.c should have been removed then, but was accidentally
24511         preserved.
24512
24513         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
24514         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
24515
24516 2003-09-08  Karl Berry  <karl@gnu.org>
24517
24518         * config/config.sub, config.guess, srclistvars.sh: update from savannah
24519                 config, forget about prep.
24520
24521         * config/depcomp, missing: update from automake.
24522
24523 2003-09-07  Paul Eggert  <eggert@twinsun.com>
24524
24525         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
24526         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
24527
24528 2003-09-07  Paul Eggert  <eggert@twinsun.com>
24529
24530         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
24531         copy_tm_result.  Bug reported by Simon Josefsson in
24532         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
24533
24534 2003-09-06  Paul Eggert  <eggert@twinsun.com>
24535
24536         * m4/time_r.m4: New file.
24537         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
24538         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
24539         is. Check for timegm declaration.
24540         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
24541         Do not check for gmtime_r.
24542         Replace mktime if __mktime_internal does not exist and if mktime
24543         hasn't been replaced already.
24544
24545 2003-09-06  Paul Eggert  <eggert@twinsun.com>
24546
24547         * lib/time_r.c, lib/time_r.h: New files.
24548
24549         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
24550         __localtime_r.
24551         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
24552         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
24553
24554         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
24555         __gmtime_r.
24556         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
24557         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
24558         Include <time_r.h>.
24559
24560         * lib/timegm.c: Switch to glibc implementation, with the following
24561         changes:
24562         [defined HAVE_CONFIG_H]: Include <config.h>.
24563         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
24564         (__mktime_internal) [!defined _LIBC]: New decl.
24565         (__gmtime_r) [!defined _LIBC]: New macro and function.
24566         (timegm): Use a prototype, since gnulib assumes C89.
24567         Do not bother declaring tmp to be const, as it's not really usefu.
24568         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
24569         (timegm): Declare only if HAVE_DECL_TIMEGM.
24570
24571 2003-09-06  Paul Eggert  <eggert@twinsun.com>
24572
24573         * MODULES.html.sh (func_all_modules): Add time_r.
24574         * modules/time_r: New file.
24575         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
24576         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
24577
24578 2003-09-03  Paul Eggert  <eggert@twinsun.com>
24579
24580         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
24581         Bug reported by Lute Kamstra in
24582         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
24583
24584         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
24585         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
24586         course with correspondingly smaller numbers for tomorrow and
24587         yesterday.  From Tadayoshi Funaba.  Originally installed into
24588         sh-utils on 1999-08-07, but the patch got lost (I guess during the
24589         coreutils merge?).
24590
24591 2003-08-31  Simon Josefsson  <jas@extundo.com>
24592
24593         * modules/timegm: New file.
24594         * MODULES.html.sh (func_all_modules): Add timegm.
24595
24596 2003-08-31  Simon Josefsson  <jas@extundo.com>
24597
24598         * m4/timegm.m4: New file.
24599
24600 2003-08-31  Simon Josefsson  <jas@extundo.com>
24601
24602         * lib/timegm.h: New file.
24603         * lib/timegm.c: New file.  Based on
24604         wget-1.8.2/src/http.c:mktime_from_utc.
24605
24606 2003-08-31  Karl Berry  <karl@gnu.org>
24607
24608         * lib/argp.h: update from libc.
24609
24610 2003-08-28  Bruno Haible  <bruno@clisp.org>
24611
24612         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
24613         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
24614         followed by '#define fnmatch fnmatch_posix' gives an error.
24615
24616 2003-08-28  Bruno Haible  <bruno@clisp.org>
24617
24618         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
24619         warning on QNX, which defines O_BINARY to 000000.
24620
24621 2003-08-27  Jim Meyering  <jim@meyering.net>
24622
24623         * m4/mkstemp.m4: Require that the system mkstemp be able to create
24624         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
24625         would fail after 32.  Reported by Danny Levinson.  Details here:
24626         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
24627
24628 2003-08-24  Bruno Haible  <bruno@clisp.org>
24629
24630         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
24631         MSVC7 <stdio.h> is included later.
24632
24633 2003-08-22  Simon Josefsson  <jas@extundo.com>
24634
24635         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
24636
24637 2003-08-20  Karl Berry  <karl@gnu.org>
24638
24639         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
24640
24641 2003-08-20  Bruno Haible  <bruno@clisp.org>
24642
24643         * modules/progname: New file.
24644         * MODULES.html.sh (func_all_modules): Add progname.
24645
24646 2003-08-20  Bruno Haible  <bruno@clisp.org>
24647
24648         * lib/progname.h: New file, from GNU gettext.
24649         * lib/progname.c: New file, from GNU gettext.
24650         * lib/progreloc.c: New file, from GNU gettext.
24651
24652 2003-08-19  Jim Meyering  <jim@meyering.net>
24653
24654         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
24655         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
24656
24657 2003-08-19  Bruno Haible  <bruno@clisp.org>
24658
24659         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
24660         more.
24661
24662 2003-08-19  Bruno Haible  <bruno@clisp.org>
24663
24664         * lib/xstrdup.c: Assume <string.h> exists.
24665
24666 2003-08-18  Paul Eggert  <eggert@twinsun.com>
24667
24668         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
24669         in makefile rules.
24670
24671 2003-08-18  Jim Meyering  <jim@meyering.net>
24672
24673         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
24674         * m4/lib-ld.m4: Likewise.
24675
24676 2003-08-18  Jim Meyering  <jim@meyering.net>
24677
24678         * lib/setenv.h: Indent nested cpp directive.
24679         * lib/vasnprintf.c: Remove trailing blanks.
24680
24681 2003-08-17  Simon Josefsson  <jas@extundo.com>
24682
24683         * modules/xstrndup: New file.
24684         * MODULES.html.sh (func_all_modules): Add xstrndup.
24685
24686 2003-08-17  Simon Josefsson  <jas@extundo.com>
24687
24688         * modules/argp: Fix autoconf macro name. Add more dependencies.
24689
24690 2003-08-17  Simon Josefsson  <jas@extundo.com>
24691
24692         * m4/xstrndup.m4: New file.
24693
24694 2003-08-17  Simon Josefsson  <jas@extundo.com>
24695
24696         * m4/argp.m4: New file.
24697
24698 2003-08-17  Simon Josefsson  <jas@extundo.com>
24699             Bruno Haible  <bruno@clisp.org>
24700
24701         * lib/xstrndup.h: New file.
24702         * lib/xstrndup.c: New file.
24703
24704 2003-08-17  Bruno Haible  <bruno@clisp.org>
24705
24706         * modules/strndup (Files, Include): Add lib/strndup.h.
24707
24708 2003-08-17  Bruno Haible  <bruno@clisp.org>
24709
24710         * modules/euidaccess (Files): Add lib/euidaccess.h.
24711
24712 2003-08-17  Bruno Haible  <bruno@clisp.org>
24713
24714         * lib/strndup.h: New file.
24715
24716 2003-08-17  Bruno Haible  <bruno@clisp.org>
24717
24718         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
24719         like AC_GNU_SOURCE.
24720         * modules/extensions (configure.ac): Comment out the invocation of
24721         gl_USE_SYSTEM_EXTENSIONS.
24722
24723 2003-08-16  Paul Eggert  <eggert@twinsun.com>
24724
24725         Merges from coreutils, etc.
24726         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
24727         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
24728         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
24729         fixing a typo.
24730         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
24731         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
24732
24733 2003-08-16  Paul Eggert  <eggert@twinsun.com>
24734
24735         Document merge from coreutils.
24736         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
24737         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
24738         * modules/utime: Add m4/utimes-null.m4.
24739
24740 2003-08-16  Paul Eggert  <eggert@twinsun.com>
24741
24742         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
24743         space, undoing this 2003-08-12 change:
24744         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
24745
24746 2003-08-16  Paul Eggert  <eggert@twinsun.com>
24747
24748         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
24749         strtoul.c from libc, undoing this 2003-08-12 change:
24750         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
24751
24752 2003-08-16  Jim Meyering  <jim@meyering.net>
24753
24754         Merges from coreutils.
24755         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
24756         prefix.  Adjust cache variables similarly.  Create 500 rather than
24757         just 300 files, to exercise bug on Darwin6.5, too.
24758         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
24759         $missing_dir.
24760         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
24761         AM_SYS_POSIX_TERMIOS.
24762         Reported by mkc@mathdogs.com.
24763         Also change use of $am_cv_sys_posix_termios
24764         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
24765         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
24766         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
24767         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
24768         in /proc/mounts until it finds one with matching device number.  This
24769         is unnecessary when the FILE argument *is* a mount point.  No stat call
24770         is necessary in that case.  So, disable the statvfs-testing code on
24771         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
24772         as RedHat bug# 84846.
24773         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
24774         to 1MB, so as not to render systems with no stack size limit (e.g.,
24775         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
24776         Include <unistd.h>.  On some systems,
24777         it is required for the definition of _SC_PAGESIZE.
24778
24779 2003-08-16  Jim Meyering  <jim@meyering.net>
24780
24781         Merge from coreutils.
24782         * lib/xstrtoimax.c: #else #if -> #elif.
24783         * lib/xstrtoumax.c: Likewise.
24784
24785 2003-08-16  Jim Meyering  <jim@meyering.net>
24786
24787         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
24788         * m4/utimes.m4: Removed.
24789         * m4/utimes-null.m4: Renamed from utimes.m4.
24790
24791         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
24792         to 1MB, so as not to render systems with no stack size limit (e.g.,
24793         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
24794         Include <unistd.h>.  On some systems,
24795         it is required for the definition of _SC_PAGESIZE.
24796
24797 2003-08-16  Jim Meyering  <jim@meyering.net>
24798         and Paul Eggert  <eggert@cs.ucla.edu>
24799
24800         Merges from coreutils, etc.
24801
24802         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
24803         using the latest version from cvs.  This avoids problems with #line
24804         directives using a vendor (Sun) compiler.
24805         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
24806         Don't set GETGROUPS_LIB here; now it's
24807         done via getgroups.m4's wrapper function.
24808         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
24809         rather than just in sh-util/configure.in, so that the
24810         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
24811         same.
24812         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
24813         AC_FUNC_GETLOADAVG where to find getloadavg.c.
24814         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
24815         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
24816         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
24817         Remove code that is now done by the newly-required macros.
24818         Append $(EXEEXT) to DF_PROG.
24819         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
24820         Do not invoke or require the following here,
24821         since prereq.m4 or some gnulib .m4 now does this for us:
24822         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
24823         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
24824         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
24825         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
24826         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
24827         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
24828         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
24829         AC_FUNC_OBSTACK.
24830         Do not replace the following functions, as this is now the job
24831         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
24832         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
24833         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
24834         atexit getpass, strdup, getpagesize.
24835         Replace 'raise'.
24836         Do not check for the following functions, as this is now the job
24837         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
24838         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
24839         setregid.
24840         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
24841         Check for sys/sysctl.h.
24842         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
24843         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
24844         of checking for ssize_t ourselves.
24845
24846         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
24847         Require every macro that gnulib/modules/* suggests for us.
24848         (jm_PREREQ_ADDEXT): New macro.
24849         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
24850         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
24851
24852         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
24853         (gl_PHYSMEM): Use it.
24854         Also check for `table' function.
24855         Check for new headers and functions.
24856         Add check for sys/sysmp.h.
24857         With suggestions from Kaveh Ghazi.
24858         Ignore headers that are present but cannot be compiled.  This
24859         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
24860         C 5.4.
24861
24862 2003-08-15  Paul Eggert  <eggert@twinsun.com>
24863
24864         Document merge from coreutils.
24865         * modules/userspec: Depend on posixver.
24866         * modules/strftime: Depend on tzset.
24867
24868 2003-08-15  Paul Eggert  <eggert@twinsun.com>
24869
24870         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
24871         rather than tab, after '#' in shell-script copyright notices.
24872         Suggested by Bruno Haible.
24873
24874 2003-08-15  Paul Eggert  <eggert@twinsun.com>
24875
24876         * config/srclist-update: Use three spaces, rather than tab, after '#'
24877         in shell-script copyright notices.  Suggested by Bruno Haible.
24878         Remove unnecessary parenthesization in regular expression.
24879
24880 2003-08-15  Jim Meyering  <jim@meyering.net>
24881
24882         Merge from coreutils.
24883         * lib/xgethostname.c: Include <stdlib.h>.
24884         (xghostname): Don't exit for anything other than memory-related
24885         failure; just return NULL.
24886         * lib/userspec.c: Include "posixver.h".
24887         (parse_user_spec): Accept `.' as a separator only
24888         in pre-POSIX-200112 mode.
24889         * lib/strtoimax.c: Use #elif rather than #else #if.
24890         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
24891         Remove function, now that we can rely on a working tzset function.
24892         [!_LIBC]: Ensure that the required autoconf test has been run.
24893         [!defined _NL_CURRENT && HAVE_STRFTIME]:
24894         Use underlying_strftime for %r.
24895         * lib/sha.c: Merge in some clean-up and optimization changes from
24896         glibc.
24897         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
24898         Ensure that it is a multiple of 64.
24899         Rearrange loop exit tests so as to avoid performing an
24900         additional fread after encountering an error or EOF.
24901         * lib/realloc.c: Update copyright date.
24902
24903 2003-08-15  Jim Meyering  <jim@meyering.net>
24904         and Paul Eggert  <eggert@twinsun.com>
24905
24906         Merge from coreutils.
24907         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
24908         member but strut utmpx does not.  Needed for AIX 4.3.3.
24909         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
24910
24911 2003-08-15  Jim Meyering  <jim@meyering.net>
24912         and Paul Eggert  <eggert@cs.ucla.edu>
24913
24914         Merges from coreutils, etc.
24915         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
24916         Require gl_FUNC_TZSET_CLOBBER.
24917         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
24918         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
24919         members.
24920
24921 2003-08-14  Paul Eggert  <eggert@twinsun.com>
24922
24923         Help the merge from coreutils.
24924         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
24925         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
24926         * m4/tzset.m4: Use it too.
24927
24928 2003-08-14  Paul Eggert  <eggert@twinsun.com>
24929
24930         * modules/tzset: New file.
24931
24932 2003-08-14  Jim Meyering  <jim@meyering.net>
24933
24934         Merges from coreutils.
24935         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
24936         variable names, rather than @FNMATCH_H@.
24937         * modules/alloca: Likewise for $(ALLOCA_H).
24938
24939         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
24940         the three copies of the literal target, `fnmatch.h'.
24941         * modules/alloca (alloca.h): Likewise.
24942
24943 2003-08-14  Jim Meyering  <jim@meyering.net>
24944
24945         Merge from coreutils.
24946         * m4/tzset.m4: New file.
24947         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
24948         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
24949         otherwise, AIX 5.1 systems would end up using the latter.
24950         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
24951         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
24952         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
24953         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
24954
24955 2003-08-14  Jim Meyering  <jim@meyering.net>
24956
24957         Merge from coreutils.
24958         * lib/obstack.h: Whitespace changes.
24959         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
24960         and xcalloc return values.
24961         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
24962         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
24963         hang on OSF/1 5.1 for DIR on both local and remote file systems.
24964         Reported by (and fix confirmed by) Nelson H. F. Beebe.
24965         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
24966         error from mntctl.
24967         Use mntctl's return value to drive the entry-processing loop, since
24968         we can't rely on the value of the vmt_length member in the last
24969         entry.  On some systems doing so could result in exhausting
24970         virtual memory.  Based in part on a patch from Mike Jetzer.
24971
24972 2003-08-14  Jim Meyering  <jim@meyering.net>
24973         and Paul Eggert  <eggert@twinsun.com>
24974
24975         Merges from coreutils, plus other fixes.
24976         * lib/physmem.c: Merge in portability changes from gcc/libiberty
24977         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
24978         for credits and details.  Thanks to Kaveh Ghazi for helping
24979         to keep these files in sync.
24980         (ARRAY_SIZE): Define it.
24981         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
24982         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
24983         (memcasecmp): Don't assume size_t fits in unsigned int.
24984         Remove casts and duplicate code.
24985         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
24986         (memcpy): Remove definition.
24987         Merge in some clean-up and optimization changes from glibc.
24988         [BLOCKSIZE]: Move definition to top of file.
24989         Ensure that it is a multiple of 64.
24990         Rearrange loop exit tests so as to avoid performing an
24991         additional fread after encountering an error or EOF.
24992         * lib/md5.h (md5_uintptr): Define.
24993         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
24994         return to the initial working directory.  Preserve errno
24995         for caller.
24996         * lib/idcache.c: Include "xalloc.h".
24997         (xmalloc, xrealloc): Remove decls.
24998         (getuser): Remove casts no longer required in C89.
24999         * lib/human.c: Include stdio.h, for sprintf.
25000         * lib/group-member.c: Include "xalloc.h".
25001         (xmalloc, xrealloc): Remove decls.
25002         (get_group_info): Remove casts no longer required in C89.
25003         * lib/getusershell.c (readname): Remove casts no longer required in
25004         C89.
25005         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
25006         * lib/getline.c: Whitespace fix, from coreutils.
25007
25008 2003-08-13  Paul Eggert  <eggert@twinsun.com>
25009
25010         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
25011         Check for isascii.
25012
25013         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
25014         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
25015         Undo previous (whitespace-only) change.
25016
25017 2003-08-13  Paul Eggert  <eggert@twinsun.com>
25018
25019         * lib/exclude.c: Include <ctype.h>
25020         (IN_CTYPE_DOMAIN): New macro.
25021         (is_space): New fn.
25022         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
25023         and empty lines.
25024
25025         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
25026         Undo previous (whitespace-only) change.
25027
25028 2003-08-13  Paul Eggert  <eggert@twinsun.com>
25029
25030         * config/srclist-update: Change update back to the old behavior,
25031         leaving whitespace alone.  Use one 'sed' command rather than a
25032         pipeline.
25033         (fixlicense): Now a variable, not a function.
25034         (remove_trailing_blanks): Remove.
25035         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
25036         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
25037         Undo previous (whitespace-only) change.
25038
25039 2003-08-12  Paul Eggert  <eggert@twinsun.com>
25040
25041         Merge from coreutils.
25042         * modules/euidaccess: Add lib_SOURCES, include for new
25043         file euidaccess.h
25044
25045 2003-08-12  Paul Eggert  <eggert@twinsun.com>
25046
25047         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
25048         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
25049         Normalize leading white space and remove trailing white space.
25050
25051         Merge from coreutils
25052         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
25053
25054         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
25055         0.12.1.  These files are now being upgraded automatically by
25056         ../config/srclist-update.
25057
25058 2003-08-12  Paul Eggert  <eggert@twinsun.com>
25059
25060         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
25061         Normalize leading white space and remove trailing white space.
25062         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
25063         notice, as per ../config/srclist-update.
25064
25065         Merge from coreutils.
25066         * lib/euidaccess.h: New file.
25067         * lib/euidaccess.c: Include it.
25068         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
25069         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
25070         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
25071
25072 2003-08-12  Paul Eggert  <eggert@twinsun.com>
25073
25074         * config/srclist-update: Add copyright notice.
25075         (remove_id_lines, remove_trailing_blanks): New constants.
25076         (fixfile): Use them to normalize spacing a bit in copied files.
25077         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
25078         Normalize leading white space and remove trailing white space.
25079
25080         * config/texinfo.tex: Sync with texinfo.
25081
25082         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
25083         strtoul.c from libc, to merge coreutils whitespace changes.
25084
25085         * config/srclist.txt: Get the following m4 files from gettext:
25086         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
25087         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
25088         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
25089         wint_t.m4.
25090
25091 2003-08-12  Karl Berry  <karl@gnu.org>
25092
25093         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
25094         been made.
25095
25096 2003-08-11  Paul Eggert  <eggert@twinsun.com>
25097
25098         * modules/gnu-source, m4/gnu-source.m4:
25099         Remove; we're assuming Autoconf 2.54 or later now.
25100         Suggested by Bruno Haible.
25101         * MODULES.html.sh (func_all_modules): Remove gnu-source.
25102
25103 2003-08-11  Bruno Haible  <bruno@clisp.org>
25104
25105         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
25106
25107 2003-08-11  Bruno Haible  <bruno@clisp.org>
25108
25109         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
25110         (vasnprintf): Use it instead of wcslen.
25111
25112 2003-08-11  Bruno Haible  <bruno@clisp.org>
25113
25114         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
25115         value to ensure that _Bool promotes to int. Use #define for _Bool when
25116         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
25117
25118 2003-08-10  Karl Berry  <karl@gnu.org>
25119
25120         * lib/regex.h: update from libc (whitespace fix).
25121
25122 2003-08-09  Paul Eggert  <eggert@twinsun.com>
25123
25124         Merge some files from coreutils.  These changes were
25125         originally made by Jim Meyering.
25126         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
25127         many older Unixes require this.
25128         * lib/alloca.c (alloca): Remove cast to argument of free;
25129         no longer needed in C89.
25130         * lib/alloca_.h, regex.h: Fix white space to match
25131         what GNU indent does.
25132
25133 2003-08-09  Paul Eggert  <eggert@twinsun.com>
25134
25135         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
25136         apparently Emacs's Unicode mode got confused before my 2003-08-05
25137         checkin.
25138
25139 2003-08-08  Paul Eggert  <eggert@twinsun.com>
25140
25141         * m4/extensions.m4: New file.
25142         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
25143         Require gl_USE_SYSTEM_EXTENSIONS.
25144         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
25145         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
25146
25147 2003-08-08  Paul Eggert  <eggert@twinsun.com>
25148
25149         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
25150         * modules/extensions, modules/gnu-source: New files.
25151         * modules/timespec, modules/unlocked-io: Depend on extensions.
25152
25153 2003-08-07  Paul Eggert  <eggert@twinsun.com>
25154
25155         * modules/restrict: New file.
25156         * MODULES.html.sh (func_all_modules): Add restrict.
25157         * modules/regex: Depend on restrict.
25158
25159 2003-08-07  Paul Eggert  <eggert@twinsun.com>
25160
25161         * m4/restrict.m4: New file.
25162         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
25163
25164 2003-08-07  Bruno Haible  <bruno@clisp.org>
25165
25166         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
25167         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
25168
25169 2003-08-07  Bruno Haible  <bruno@clisp.org>
25170
25171         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
25172         makes the module 'getndelim2' compatible with the module 'getline'.
25173
25174 2003-08-05  Paul Eggert  <eggert@twinsun.com>
25175
25176         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
25177         byte with "\201" to avoid glitches when editing that source file
25178         with multi-gnome-terminal.
25179
25180 2003-08-05  Paul Eggert  <eggert@twinsun.com>
25181
25182         * lib/bumpalloc.h: Remove.
25183
25184 2003-08-05  Paul Eggert  <eggert@twinsun.com>
25185
25186         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
25187         * modules/bumpalloc: Remove.
25188
25189 2003-08-04  Paul Eggert  <eggert@twinsun.com>
25190
25191         * lib/getloadavg.c: Change copyright notice and spacing to conform to
25192         GNU coding style.
25193
25194         Merge from coreutils.
25195         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
25196         1. From glibc.
25197         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
25198         from Karl Berry, implemented by Jim Meyering.
25199         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
25200         from Dmitry V. Levin.
25201         Remove anachronistic cast of xrealloc.
25202         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
25203         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
25204         type. Otherwise, it wouldn't compile with at least /bin/cc on
25205         ymp-cray-unicos9.0.2.X.
25206         Combine two mostly-identical uses of alloca into one.
25207         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
25208
25209 2003-08-04  Dave Love  <d.love@dl.ac.uk>
25210
25211         [From Emacs.]
25212
25213         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
25214         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
25215         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
25216         obsolete NLIST_NAME_UNION.
25217         [__GNU__]: Undef BSD and FSCALE.
25218         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
25219
25220 2003-08-03  Paul Eggert  <eggert@twinsun.com>
25221
25222         * lib/stdbool_.h (_Bool): Make it signed char, instead of
25223         an enum type, so that it's guaranteed to promote to int.  See:
25224         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
25225
25226 2003-08-03  Karl Berry  <karl@gnu.org>
25227
25228         * config/depcomp: update from automake.
25229
25230 2003-07-31  Paul Eggert  <eggert@twinsun.com>
25231
25232         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
25233         (strerror): Don't assume that a printable int fits in 14 bytes.
25234
25235 2003-07-31  Bruno Haible  <bruno@clisp.org>
25236
25237         * modules/getpass-gnu: New file.
25238         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
25239
25240 2003-07-31  Bruno Haible  <bruno@clisp.org>
25241
25242         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
25243
25244 2003-07-24  Karl Berry  <karl@gnu.org>
25245
25246         * config/missing: update from automake.
25247
25248 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
25249             Bruno Haible  <bruno@clisp.org>
25250
25251         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
25252         * lib/getline.c (getline, getdelim): Likewise.
25253         Remove _GNU_SOURCE define; now it's defined in config.h through
25254         m4/getline.m4.
25255
25256 2003-07-23  Karl Berry  <karl@gnu.org>
25257
25258         * config/config.sub: update from prep.
25259
25260 2003-07-22  Paul Eggert  <eggert@twinsun.com>
25261
25262         * modules/xalloc (Depends-on): Add exitfail.
25263         * modules/xmemcoll: Likewise.
25264
25265 2003-07-22  Paul Eggert  <eggert@twinsun.com>
25266
25267         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
25268         over-parenthesization in macros.
25269
25270         Sync with coreutils.
25271
25272         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
25273         required by C99.
25274
25275         Use `exit_failure' for xalloc and xmemcoll instead of their own
25276         private exit-failure variables.
25277         * lib/xalloc.h (xalloc_exit_failure): Remove.
25278         * lib/xmalloc.c: Likewise.  Include exitfail.h.
25279         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
25280         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
25281         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
25282         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
25283
25284 2003-07-20  Jim Meyering  <jim@meyering.net>
25285
25286         * modules/closeout (Depends-on): Add exitfail.
25287         Suggestion from Bruno Haible.
25288
25289 2003-07-19  Karl Berry  <karl@gnu.org>
25290
25291         * config/config.sub: update from prep.
25292
25293 2003-07-18  Paul Eggert  <eggert@twinsun.com>
25294
25295         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
25296         Remove.
25297         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
25298         to test that it can stand by itself.  Include "exitfail.h".
25299         Clients should set exit_failure instead.
25300         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
25301
25302 2003-07-18  Bruno Haible  <bruno@clisp.org>
25303
25304         * modules/getndelim2: New file.
25305         * modules/getline: Share files with module getndelim2.
25306         * modules/getnline: Depend on getndelim2 instead of sharing files with
25307         it. Add getnline.c to lib_SOURCES.
25308         * MODULES.html.sh (func_all_modules): Add getndelim2.
25309
25310 2003-07-18  Bruno Haible  <bruno@clisp.org>
25311
25312         * m4/getndelim2.m4: New file.
25313         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
25314         invoke gl_PREREQ_GETNDELIM2.
25315         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
25316         gl_PREREQ_GETNDELIM2.
25317         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
25318         gl_GETNDELIM2.
25319
25320 2003-07-18  Bruno Haible  <bruno@clisp.org>
25321
25322         * lib/getndelim2.h: New file.
25323         * lib/getndelim2.c: Make into a module of its own. Include config.h,
25324         getndelim2.h.
25325         (getndelim2): Make non-static. Change return type to ssize_t.
25326         * lib/getline.h: Change argument names.
25327         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
25328         * lib/getnline.c: Include getndelim2.h.
25329
25330 2003-07-18  Andreas Schwab  <schwab@suse.de>
25331
25332         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
25333
25334 2003-07-17  Karl Berry  <karl@gnu.org>
25335
25336         * config/config.sub: update from prep.
25337
25338 2003-07-17  Bruno Haible  <bruno@clisp.org>
25339
25340         * modules/getnline: New file.
25341         * modules/getline: Add lib/getndelim2.c to source file list.
25342         * MODULES.html.sh (func_all_modules): Add getnline.
25343
25344 2003-07-17  Bruno Haible  <bruno@clisp.org>
25345
25346         * m4/getnline.m4: New file.
25347
25348 2003-07-17  Bruno Haible  <bruno@clisp.org>
25349
25350         * m4/Makefile.am.in: Remove file.
25351         * m4/Makefile.am: Remove file.
25352         * m4/Makefile.in: Remove file.
25353
25354 2003-07-17  Bruno Haible  <bruno@clisp.org>
25355
25356         * lib/getnline.h: New file.
25357         * lib/getnline.c: New file.
25358         * lib/getndelim2.c: New file, extracted from getline.c.
25359         (getndelim2): Renamed from getdelim2, with added nmax argument.
25360         * lib/getline.c: Include getndelim2.c.
25361         (getdelim2): Moved out to getndelim2.c.
25362         (getline, getdelim): Update.
25363
25364 2003-07-17  Bruno Haible  <bruno@clisp.org>
25365
25366         * lib/Makefile.am: Remove file.
25367         * lib/Makefile.in: Remove file.
25368
25369 2003-07-17  Bruno Haible  <bruno@clisp.org>
25370
25371         * configure.in: Remove file.
25372         * Makefile.in: Remove file.
25373
25374 2003-07-17  Bruno Haible  <bruno@clisp.org>
25375
25376         * MODULES.html.sh: Put the </BODY> right before </HTML>.
25377
25378 2003-07-16  Karl Berry  <karl@gnu.org>
25379
25380         * config/srclist-update: was running fixlicense twice, which caused
25381                 texinfo.tex to be nullified for some reason.  Simplify,
25382                 $gplsrc is no longer needed as far as I can see?
25383
25384 2003-07-16  Jim Meyering  <jim@meyering.net>
25385
25386         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
25387
25388 2003-07-15  Paul Eggert  <eggert@twinsun.com>
25389
25390         * config/srclist.txt: Get the following files from gettext-runtime/intl
25391         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
25392         ref-del.sin.  From Bruno Haible.
25393         * config/srclist-update (fixfile): Change grep pattern again, since the
25394         previous fix didn't work (there was another trailing $).  Use
25395         '[$]' to escape the $s.
25396
25397 2003-07-15  Karl Berry  <karl@gnu.org>
25398
25399         * lib/vasnprintf.c: update from gettext.
25400
25401 2003-07-15  Karl Berry  <karl@gnu.org>
25402
25403         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
25404         gets expanded when surrounded by '$'.
25405
25406 2003-07-15  Jim Meyering  <jim@meyering.net>
25407
25408         * modules/save-cwd: Don't depend on error.  From Derek Price.
25409
25410 2003-07-15  Jim Meyering  <jim@meyering.net>
25411
25412         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
25413
25414 2003-07-14  Simon Josefsson  <jas@extundo.com>
25415
25416         * modules/mempcpy: New file.
25417         * MODULES.html.sh (func_all_modules): Add mempcpy.
25418
25419 2003-07-14  Simon Josefsson  <jas@extundo.com>
25420
25421         * m4/mempcpy.m4: New file.
25422
25423 2003-07-14  Simon Josefsson  <jas@extundo.com>
25424
25425         * lib/mempcpy.h: New file.
25426         * lib/mempcpy.c: New file.
25427
25428 2003-07-14  Paul Eggert  <eggert@twinsun.com>
25429
25430         * modules/getdate, modules/posixtm: Depend on mktime.
25431
25432 2003-07-14  Paul Eggert  <eggert@twinsun.com>
25433
25434         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
25435         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
25436         unicodeio.c, unicodeio.h, unlocked-io.h:
25437         Switch from LGPL to GPL.
25438
25439 2003-07-14  Paul Eggert  <eggert@twinsun.com>
25440
25441         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
25442         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
25443         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
25444         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
25445         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
25446         updated automatically by ../config/srclist-update.  This changes
25447         their license from LPGL to GPL.
25448
25449 2003-07-14  Paul Eggert  <eggert@twinsun.com>
25450
25451         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
25452         assumed to refer to the root of the most recent stable gettext version.
25453         * config/srclistvars.sh: Add defaults for eggert.
25454         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
25455         Match "This program" as well as "The program".  This is needed
25456         for gettext.
25457
25458 2003-07-14  Jim Meyering  <jim@meyering.net>
25459
25460         Don't emit diagnostics.  Let callers do that.
25461         * lib/save-cwd.c: Don't include "error.h".
25462         (save_cwd): Don't call error.  Ensure that errno is valid
25463         when returning nonzero.
25464
25465         * lib/save-cwd.h (restore_cwd): Update prototype.
25466         * lib/save-cwd.c (restore_cwd): Remove two parameters.
25467         Simplify.  Don't call error upon failure.  Let callers do that.
25468         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
25469         when auditing is enabled.  But don't bother updating the #if.
25470
25471 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
25472
25473         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
25474         it breaks C++ compilation.
25475         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
25476
25477 2003-07-10  Simon Josefsson  <jas@extundo.com>
25478
25479         * modules/strchrnul (Makefile.am): Add strchrnul.h.
25480
25481 2003-07-10  Jim Meyering  <jim@meyering.net>
25482
25483         * m4/clock_time.m4: Remove trailing blank.
25484         * m4/intmax_t.m4: Likewise.
25485
25486 2003-07-10  Jim Meyering  <jim@meyering.net>
25487
25488         * lib/vasnprintf.c: Remove trailing blanks.
25489         Make cpp indentation consistent.
25490
25491 2003-07-09  Paul Eggert  <eggert@twinsun.com>
25492
25493         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
25494         posixver.c, strftime.c, strnlen.c, strverscmp.c:
25495         Switch from LGPL to GPL.
25496
25497 2003-07-09  Paul Eggert  <eggert@twinsun.com>
25498
25499         * config/srclist.txt: Sort sublists.  Add
25500         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
25501         that differ from gnulib for one reason or another; we'd like this list
25502         to be smaller but for now let's document what we have.
25503
25504 2003-07-08  Paul Eggert  <eggert@twinsun.com>
25505
25506         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
25507         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
25508         and sweeter "eval x=$x".
25509         * config/srclist.txt: Get lib/argp* from glibc.
25510
25511 2003-07-07  Paul Eggert  <eggert@twinsun.com>
25512
25513         * lib/mktime.c: Fix some boundary cases and remove need for floating
25514         point.
25515
25516         Issue a compile-time diagnostic if time_t is floating point, or if
25517         two's complement arithmetic is not in effect, or if arithmetic
25518         right shift does not propagate the sign.  These assumptions were
25519         all in the original code but they weren't checked.
25520
25521         (TIME_T_MIDPOINT, verify): New macros.
25522         (__isleap): Remove; it has integer overflow problems.
25523         (leapyear): New function, without those problems.
25524         (ydhms_tm_diff): Remove; splitting into two parts.
25525         (ydhms_diff): New function, containing the arithmetic part of
25526         the old ydhms_tm_diff function.  Issue a compile-time
25527         diagnostic if we are not using C99 integer division.
25528         Avoid casts when possible.
25529         (guess_time_tm): New function, containing the checking part of
25530         the old ydhms_tm_diff function.  Return the new value, rather than
25531         the difference between it and the old.  Accept a new argument T
25532         so that *T specifies the old value.  Check for overflow in the result.
25533
25534         (__mktime_internal): Use a time_t offset, not a long int offset.
25535         This undoes the 2003-06-04 change, which is no longer needed now
25536         that we have better overflow checking.
25537         (localtime_offset): Likewise.
25538
25539         (__mktime_internal): Avoid harmful overflow on hosts where time_t
25540         and long are 64-bit but int is only 32-bit.
25541         (ydhms_diff): Use long int to store year1 and yday1.
25542         Issue a compile-time diagnostic if long int is not wide enough.
25543
25544         (__mktime_internal): Use long int to store adjusted year and yday.
25545         Use plain C rather than preprocessor commands, if that doesn't
25546         affect efficiency.
25547         Check for overflow (and try to repair) after each probe
25548         rather than checking only at the very end.  This avoids some bugs
25549         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
25550         does not equal GMT offset at maximum time).
25551         Use integer to check for overflow rather than floating point; this
25552         is more portable to non-IEEE hosts, and is a tad faster.
25553         When we detect that we are oscillating between two values,
25554         don't check whether tm_isdst has the requested value, since
25555         we already know the answer.  When tm_isdst has the wrong value,
25556         use a different heuristic to find the right one, based on the
25557         extreme values actually observed in practice in tz2003a,
25558         rather than the (overly optimistic) "previous 3 calendar quarters".
25559
25560         (not_equal_tm, print_tm, check_result): Use "const T" rather than
25561         "T const" to accommodate glibc style.
25562         (check_result): Use less-confusing report format.  "long" -> "long int.
25563         (main): Likewise.
25564         Don't loop if the iteration overflows time_t.
25565         Allow a negative step in the iteration.
25566
25567 2003-07-06  Karl Berry  <karl@gnu.org>
25568
25569         * config/depcomp: update from automake.
25570         * config/config.sub: update from prep.
25571
25572 2003-07-03  Karl Berry  <karl@gnu.org>
25573
25574         * config/config.guess: update from prep.
25575
25576 2003-07-01  Paul Eggert  <eggert@twinsun.com>
25577
25578         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
25579         xreadlink.c now includes it unconditionally.
25580
25581 2003-07-01  Paul Eggert  <eggert@twinsun.com>
25582
25583         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
25584         having it depend on HAVE_SYS_TYPES_H.
25585
25586 2003-07-01  Bruno Haible  <bruno@clisp.org>
25587
25588         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
25589         <sys/types.h> should be sufficient.
25590         Reported by Paul Eggert.
25591
25592 2003-06-26  Karl Berry  <karl@gnu.org>
25593
25594         * config/depcomp: update from automake.
25595
25596 2003-06-26  Bruno Haible  <bruno@clisp.org>
25597
25598         * modules/human: Depend on module stdbool.
25599
25600 2003-06-25  Bruno Haible  <bruno@clisp.org>
25601
25602         * modules/readlink: New file.
25603         * modules/xreadlink: Depend on it.
25604         * MODULES.html.sh (func_all_modules): Add readlink.
25605
25606 2003-06-25  Bruno Haible  <bruno@clisp.org>
25607
25608         * m4/readlink.m4: New file.
25609
25610 2003-06-25  Bruno Haible  <bruno@clisp.org>
25611
25612         * lib/readlink.c: New file.
25613
25614 2003-06-22  Karl Berry  <karl@gnu.org>
25615
25616         * config/srclist.txt: update mkinstalldirs from automake.
25617         * config/mkinstalldirs: update.
25618
25619 2003-06-22  Bruno Haible  <bruno@clisp.org>
25620
25621         Portability to mingw32.
25622         * m4/ssize_t.m4: New file, from GNU gettext.
25623         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
25624         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
25625
25626 2003-06-22  Bruno Haible  <bruno@clisp.org>
25627
25628         * modules/safe-read: Add m4/ssize_t.m4.
25629         * modules/xreadlink: Add m4/ssize_t.m4.
25630
25631 2003-06-20  Bruno Haible  <bruno@clisp.org>
25632
25633         Assume C89, so PARAMS isn't needed.
25634         * lib/unicodeio.h (PARAMS): Remove.
25635         * lib/unicodeio.c: Don't use PARAMS.
25636
25637 2003-06-18  Karl Berry  <karl@gnu.org>
25638
25639         * config/config.{guess,sub}: update from prep.
25640
25641 2003-06-18  Jim Meyering  <jim@meyering.net>
25642
25643         Merge changes from coreutils.
25644         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
25645         Remove explicit declarations of xmalloc and realloc.
25646         Include xalloc.h.
25647         (read_utmp): Remove anachronistic cast of xmalloc.
25648
25649 2003-06-17  Paul Eggert  <eggert@twinsun.com>
25650
25651         Assume C89, so PARAMS isn't needed.
25652         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
25653         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
25654         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
25655         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
25656         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
25657         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
25658         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
25659         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
25660         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
25661         lib/xstrtod.h, lib/xstrtol.h: Likewise.
25662         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
25663         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
25664         no longer needed. Anyway, config.h should always be included before any
25665         other file.
25666
25667 2003-06-11  Simon Josefsson  <jas@extundo.com>
25668
25669         * modules/sysexits: New file.
25670         * MODULES.html.sh (func_all_modules): Add sysexits.
25671
25672 2003-06-11  Simon Josefsson  <jas@extundo.com>
25673
25674         * lib/sysexit_.h: New file.
25675
25676 2003-06-11  Derek Price  <derek@ximbiot.com>
25677
25678         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
25679         necessary.
25680
25681 2003-06-11  Bruno Haible  <bruno@clisp.org>
25682
25683         * m4/sysexits.m4: New file.
25684
25685 2003-06-10  Simon Josefsson  <jas@extundo.com>
25686
25687         * lib/argp.h: New file, from glibc.
25688         * lib/argp-ba.c: New file, from glibc.
25689         * lib/argp-eexst.c: New file, from glibc.
25690         * lib/argp-fmtstream.c: New file, from glibc.
25691         * lib/argp-fmtstream.h: New file, from glibc.
25692         * lib/argp-fs-xinl.c: New file, from glibc.
25693         * lib/argp-help.c: New file, from glibc.
25694         * lib/argp-namefrob.h: New file, from glibc.
25695         * lib/argp-parse.c: New file, from glibc.
25696         * lib/argp-pv.c: New file, from glibc.
25697         * lib/argp-pvh.c: New file, from glibc.
25698         * lib/argp-xinl.c: New file, from glibc.
25699
25700 2003-06-10  Simon Josefsson  <jas@extundo.com>
25701
25702         * modules/strchrnul: New file.
25703
25704 2003-06-10  Simon Josefsson  <jas@extundo.com>
25705
25706         * modules/argp: New file.
25707
25708 2003-06-10  Simon Josefsson  <jas@extundo.com>
25709
25710         * m4/strchrnul.m4: New file.
25711
25712 2003-06-10  Simon Josefsson  <jas@extundo.com>
25713
25714         * lib/strchrnul.h: New file.
25715         * lib/strchrnul.c: New file.
25716
25717 2003-06-10  Bruno Haible  <bruno@clisp.org>
25718
25719         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
25720
25721 2003-06-07  Karl Berry  <karl@gnu.org>
25722
25723         * config/config.{guess,sub}: update from prep.
25724
25725 2003-06-07  Jim Meyering  <jim@meyering.net>
25726
25727         * modules/strtod: Use $(...) notation, not @...@ for
25728         AC_REPLACE'd variables.
25729         * modules/localcharset: Likewise.
25730
25731 2003-06-07  Jim Meyering  <jim@meyering.net>
25732
25733         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
25734         in place of my name in the copyright comment.
25735         Remove definition and uses of __P.
25736
25737         From coreutils.
25738         * lib/stat.c: Don't declare xmalloc explicitly.
25739         Instead, include "xalloc.h".
25740         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
25741         xrealloc, and xcalloc return values.
25742         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
25743         Improve comment.
25744         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
25745
25746 2003-06-07  Bruno Haible  <bruno@clisp.org>
25747
25748         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
25749         avoid AC_CONFIG_LINKS.
25750         * modules/fnmatch (Makefile.am): Use explicit creation rule for
25751         fnmatch.h, to avoid AC_CONFIG_LINKS.
25752         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
25753
25754 2003-06-07  Bruno Haible  <bruno@clisp.org>
25755
25756         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
25757         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
25758         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
25759         directory.
25760         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
25761         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
25762         directory.
25763
25764 2003-06-06  Jim Meyering  <jim@meyering.net>
25765
25766         Merge from coreutils.
25767         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
25768         Consolidate declarations and initializations of *_base* locals.
25769
25770         Merge from coreutils.
25771         This avoids a core dump on systems without GNU putenv,
25772         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
25773         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
25774         (unsetenv): New static function, from GNU libc.
25775         (rpl_putenv): Use it.
25776
25777         * lib/modechange.c: Remove trailing blanks.
25778
25779         Merge from coreutils.
25780         * lib/fsusage.c: Remove declaration of statfs.
25781         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
25782
25783         * lib/posixtm.c: Include <stdbool.h> unconditionally.
25784
25785 2003-06-06  Jim Meyering  <jim@meyering.net>
25786
25787         * lib/stdbool_.h: Renamed from stdbool.h.in.
25788
25789 2003-06-06  Jim Meyering  <jim@meyering.net>
25790             Bruno Haible  <bruno@clisp.org>
25791
25792         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
25793         Adjust Makefile.am snippet not to redirect directly to target.
25794         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
25795
25796 2003-06-05  Paul Eggert  <eggert@twinsun.com>
25797
25798         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
25799         mismatch, look in future quarters as well as past.  This fixes a
25800         bug when processing fall-backwards gaps immediately after a long
25801         period of daylight-saving time.
25802
25803         * lib/mktime.c: Assume freestanding C89 or better.
25804         (HAVE_LIMITS_H): Remove.  Assume it's 1.
25805         (__P): Remove; not used.
25806         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
25807         (mktime, not_equal_tm, print_tm, check_result,
25808         main): Use prototypes.  Use const * where appropriate.
25809         (main): Fix typo in testing code that uncovered by above changes.
25810         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
25811
25812 2003-06-04  Paul Eggert  <eggert@twinsun.com>
25813
25814         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
25815         locale.h, localeconv.  This merges changes from coreutils.
25816
25817         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
25818         It can be removed after the next Autoconf is released.
25819         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
25820         needed.
25821
25822 2003-06-04  Paul Eggert  <eggert@twinsun.com>
25823
25824         * lib/mktime.c: Fix Debian bug 177940
25825         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
25826         (localtime_offset): Now long int, not time_t, because we want it
25827         to be guaranteed to be signed.  All uses changed.
25828         (__mktime_internal): If overflow would occur when adding offset,
25829         don't add it.
25830
25831         Merge 'human' changes from coreutils.  Rewrite to support
25832         locale-specific notations like thousands separators.
25833         * lib/human.c: Simplify authorship notice.
25834         Include human.h immediately after config.h.
25835         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
25836         <limits.h>: Do not include, since human.h does.
25837         (SIZE_MAX, UINTMAX_MAX): New macros.
25838         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
25839         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
25840         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
25841         (power_letter): Renamed from suffixes.
25842         (generate_suffix_backwards): Remove.
25843         (adjust_value): Now takes int style (because of human.h changes)
25844         and long double value (for greater precision on some platforms).
25845         (group_number): New function.
25846         (human_readable): Use it.  Use integer options, not enum.
25847         Put the options before the sizes in the arg list.
25848         Support all the new options.
25849         The old human_readable function has been removed;
25850         use inttostr.h instead.
25851         (human_readable, default_block_size, humblock):
25852         Use uintmax_t, not int, for block sizes.
25853         (human_readable_inexact, block_size_types): Remove.
25854         (block_size_opts): New constant.
25855         (human_options): Renamed from human_block_size, with new signature
25856         that allows block sizes up to UINTMAX_MAX.  All callers changed.
25857         * lib/human.h: Add copyright and authorship notice.
25858         Include <limits.h> and <stdbool.h> unconditionally.
25859         (PARAMS): Remove.  All uses removed.
25860         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
25861         (enum human_inexact_style): Remove tag; now a nameless enum.
25862         (human_floor, human_ceiling, human_round_to_even): Now have
25863         values 2, 0, 1 rather than -1, 1, 0.
25864         (human_group_digits, human_suppress_point_zero, human_autoscale,
25865         human_base_1024, human_SI, human_B): New constants.
25866         (human_readable_inexact, human_block_size): Remove.
25867         (human_readable): Size args are now uintmax_t, not int.
25868         (human_options): New decl.
25869
25870         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
25871         unnecessary now that we assume C89 or better.  This change
25872         imported from coreutils.
25873
25874         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
25875         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
25876         in the 2003-05-30 sync from glibc.
25877
25878         .h files should stand alone, but we shouldn't include <sys/types.h>
25879         if we can get away with just <stddef.h>.
25880
25881         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
25882         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
25883         rather than <sys/types.h>, as we merely need size_t.
25884         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
25885         to get size_t.
25886         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
25887         Include <stdio.h>, to get FILE.
25888         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
25889         memcasecmp.h has included <stddef.h> and all we need is size_t.
25890         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
25891         our interface, instead of including <sys/types.h>
25892
25893 2003-06-04  Paul Eggert  <eggert@twinsun.com>
25894
25895         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
25896         now, as glibc mktime is buggy on non-glibc systems.
25897
25898 2003-06-03  Karl Berry  <karl@gnu.org>
25899
25900         * config/config.sub: update from prep.
25901
25902 2003-06-02  Paul Eggert  <eggert@twinsun.com>
25903
25904         [from coreutils]
25905         Fix some minor time-related bugs with POSIX time arguments.
25906         Some valid time stamps were being rejected (notably -1, and
25907         time stamps before 1900 on 64-bit hosts).  And some invalid
25908         time stamps were being accepted, e.g. September 31.
25909
25910         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
25911         that we can return (time_t) -1 successfully.
25912         * lib/posixtm.c: Likewise.
25913         [HAVE_STDBOOL_H]: Include <stdbool.h>.
25914         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
25915         (t): Remove static var.
25916         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
25917         of static var.  All uses changed.
25918         (year): Do not reject years before 1900; they can occur with
25919         64-bit time_t.
25920         (posix_time_parse): Do not check for out-of-range components;
25921         that is now the caller's responsibility, since our checks were
25922         only approximations.
25923         (posixtime): Use mktime to check for out-of-range components,
25924         since it knows them exactly.
25925         If mktime returns (time_t) -1, check whether an error actually occurred
25926         by invoking localtime on -1.
25927         (main) [TEST_POSIXTIME]: Check for input data errors, and report
25928         posixtime failures better.
25929         Improve the test data (in comments only).
25930
25931 2003-06-02  Karl Berry  <karl@gnu.org>
25932
25933         * config/mkinstalldirs (version): new variable.
25934         (--version): new option.
25935         (usage): improve message.
25936
25937 2003-05-30  Karl Berry  <karl@gnu.org>
25938
25939         * lib/mktime.c: update from libc.
25940
25941 2003-05-30  Bruno Haible  <bruno@clisp.org>
25942
25943         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
25944         * config/config.rpath: Upgrade to gettext-0.12.1.
25945
25946 2003-05-30  Bruno Haible  <bruno@clisp.org>
25947
25948         * m4/gettext.m4: Upgrade to gettext-0.12.1.
25949         * m4/nls.m4: New file, from gettext-0.12.1.
25950         * m4/po.m4: New file, from gettext-0.12.1.
25951         * m4/progtest.m4: Upgrade to gettext-0.12.1.
25952
25953 2003-05-30  Bruno Haible  <bruno@clisp.org>
25954
25955         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
25956         * lib/localcharset.h: Likewise.
25957         * lib/localcharset.c: Likewise.
25958
25959 2003-05-29  Karl Berry  <karl@gnu.org>
25960
25961         * config/config.rpath: update from gettext.
25962
25963 2003-05-28  Paul Eggert  <eggert@twinsun.com>
25964
25965         Assume the headers required for C89 freestanding compilers.
25966         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
25967         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
25968         * m4/human.m4 (gl_HUMAN): Likewise.
25969         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
25970         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
25971         * m4/userspec.m4 (gl_USERSPEC): Likewise.
25972         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
25973         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
25974         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
25975
25976 2003-05-28  Paul Eggert  <eggert@twinsun.com>
25977
25978         Assume the headers required for C89 freestanding compilers.
25979         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
25980         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
25981         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
25982         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
25983         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
25984         define, since <limits.h> is guaranteed to do that.
25985         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
25986         * lib/exclude.c: Include <stdbool.h> unconditionally.
25987         * lib/tempname.c: Include <stddef.h> unconditionally.
25988         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
25989         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
25990         <stddef.h> does that.
25991         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
25992         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
25993         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
25994         needed.
25995         * lib/xstrtol.c: Likewise.
25996         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
25997         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
25998
25999         * lib/addext.c (addext): Use assignment rather than cast, to avoid
26000         warnings on some platforms.
26001
26002         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
26003         arbitrarily.
26004
26005 2003-05-26  Jim Meyering  <jim@meyering.net>
26006
26007         Merge in a change from coreutils:
26008         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
26009         that is guaranteed to be `no'.  Use `no_such_member' to indicate
26010         that condition, rather than `-1' which is slightly misleading.
26011         Change the name of the cache variable to have the gl_ prefix.
26012         Prompted by a patch from Richard Dawe for DJGPP.
26013
26014 2003-05-24  Karl Berry  <karl@gnu.org>
26015
26016         * config/config.guess: update from prep.
26017
26018 2003-05-22  Karl Berry  <karl@gnu.org>
26019
26020         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
26021
26022 2003-05-20  Karl Berry  <karl@gnu.org>
26023
26024         * config/config.guess: update from prep.
26025
26026 2003-05-18  Karl Berry  <karl@gnu.org>
26027
26028         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
26029         might actually be set by the user.
26030
26031         * config/depcomp, install-sh, mdate-sh: update from automake.
26032
26033 2003-05-17  Bruno Haible  <bruno@clisp.org>
26034
26035         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
26036         invalid expansion for AC_EGREP_CPP.
26037         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
26038         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
26039         Suggested by Akim Demaille <akim@epita.fr> in
26040         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
26041
26042 2003-05-12  Jim Meyering  <jim@meyering.net>
26043
26044         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
26045         the space-padded-by-default conversion specifiers, %e, %k, %l.
26046
26047 2003-05-12  Bruno Haible  <bruno@clisp.org>
26048
26049         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
26050         the string is longer than 4 KB.
26051
26052 2003-05-11  Karl Berry  <karl@gnu.org>
26053
26054         * config/config.{guess,sub}: update from prep.
26055
26056 2003-05-09  Bruno Haible  <bruno@clisp.org>
26057
26058         * modules/error: Add m4/strerror_r.m4 to file list.
26059
26060 2003-05-03  Bruno Haible  <bruno@clisp.org>
26061
26062         Upgrade to Unicode-4.0.
26063         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
26064         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
26065         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
26066         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
26067         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
26068         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
26069         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
26070         Change width of U+E0100..U+E01EF from 1 to 0.
26071
26072 2003-04-25  Jim Meyering  <jim@meyering.net>
26073
26074         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
26075         of type size_t, not int.
26076
26077 2003-04-25  Bruno Haible  <bruno@clisp.org>
26078
26079         * lib/copy-file.c: Include <stddef.h>, for size_t.
26080
26081 2003-04-21  Paul Eggert  <eggert@twinsun.com>
26082
26083         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
26084         code which expansion is under static control.  Patch imported from
26085         Akim Demaille's patch to Bison; see
26086         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
26087
26088 2003-04-14  Bruno Haible  <bruno@clisp.org>
26089
26090         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
26091
26092 2003-04-11  Jim Meyering  <jim@meyering.net>
26093
26094         Merge changes from Coreutils.
26095
26096         2003-03-22  Jim Meyering  <jim@meyering.net>
26097
26098         * lib/strftime.c (widen): Cast alloca return value to proper type.
26099
26100         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
26101
26102         From GNU libc.
26103         * lib/strftime.c (my_strftime): Handle very large width
26104         specifications for numeric values correctly.  Improve checks for
26105         overflow.
26106
26107         2003-01-19  Jim Meyering  <jim@meyering.net>
26108
26109         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
26110         definitions.
26111         (nl_get_alt_digit) [! defined my_strftime]: Define.
26112         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
26113         _nl_get_alt_digit and _nl_get_walt_digit.
26114
26115         * lib/strftime.c (my_strftime): Merge in locale-related changes from
26116         libc. These changes have no effect outside of _LIBC.
26117
26118 2003-04-10  Bruno Haible  <bruno@clisp.org>
26119
26120         * modules/findprog: New file.
26121         * MODULES.html.sh (func_all_modules): Add it.
26122
26123 2003-04-10  Bruno Haible  <bruno@clisp.org>
26124
26125         * m4/findprog.m4: New file.
26126         * m4/eaccess.m4: New file.
26127
26128 2003-04-10  Bruno Haible  <bruno@clisp.org>
26129
26130         * lib/findprog.h: New file, from GNU gettext.
26131         * lib/findprog.c: New file, from GNU gettext.
26132
26133 2003-04-05  Jim Meyering  <jim@meyering.net>
26134
26135         Merge changes from Coreutils.
26136
26137         * lib/exclude.h (PARAMS): Remove definition and uses.
26138         * lib/exclude.c: Remove uses of `PARAMS'.
26139
26140         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
26141         Add test-cases for DOS filenames. Declare program_name.
26142         (main): Set up program_name.  Patch by Rich Dawe.
26143
26144         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
26145         error from mntctl.
26146         Use mntctl's return value to drive the entry-processing loop, since
26147         we can't rely on the value of the vmt_length member in the last
26148         entry.  On some systems doing so could result in exhausting
26149         virtual memory.  Based in part on a patch from Mike Jetzer.
26150
26151 2003-04-04  Bruno Haible  <bruno@clisp.org>
26152
26153         * modules/linebreak: New file.
26154         * MODULES.html.sh (func_all_modules): Add it.
26155
26156 2003-04-04  Bruno Haible  <bruno@clisp.org>
26157
26158         * m4/linebreak.m4: New file.
26159
26160 2003-04-04  Bruno Haible  <bruno@clisp.org>
26161
26162         * lib/linebreak.h: New file, from GNU gettext.
26163         * lib/linebreak.c: New file, from GNU gettext with slight
26164         modifications.
26165         * lib/lbrkprop.h: New file, from GNU gettext.
26166
26167 2003-04-03  Bruno Haible  <bruno@clisp.org>
26168
26169         * modules/utf8-ucs4: New file.
26170         * modules/utf16-ucs4: New file.
26171         * modules/ucs4-utf8: New file.
26172         * modules/ucs4-utf16: New file.
26173         * MODULES.html.sh (func_all_modules): Add them.
26174
26175 2003-04-03  Bruno Haible  <bruno@clisp.org>
26176
26177         * m4/utf-ucs4.m4: New file.
26178         * m4/ucs4-utf.m4: New file.
26179
26180 2003-04-03  Bruno Haible  <bruno@clisp.org>
26181
26182         * lib/utf8-ucs4.h: New file, from GNU gettext.
26183         * lib/utf16-ucs4.h: New file, from GNU gettext.
26184         * lib/ucs4-utf8.h: New file, from GNU gettext.
26185         * lib/ucs4-utf16.h: New file, from GNU gettext.
26186
26187 2003-04-02  Bruno Haible  <bruno@clisp.org>
26188
26189         * modules/binary-io: New file.
26190         * MODULES.html.sh (func_all_modules): Add it.
26191
26192 2003-04-02  Bruno Haible  <bruno@clisp.org>
26193
26194         * lib/binary-io.h: New file, from GNU gettext.
26195
26196 2003-04-01  Bruno Haible  <bruno@clisp.org>
26197
26198         * modules/pathname: New file.
26199         * MODULES.html.sh (func_all_modules): Add it.
26200
26201 2003-04-01  Bruno Haible  <bruno@clisp.org>
26202
26203         * lib/pathname.h: New file, from GNU gettext.
26204         * lib/concatpath.c: New file, from GNU gettext.
26205
26206 2003-03-30  Bruno Haible  <bruno@clisp.org>
26207
26208         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
26209
26210 2003-03-30  Bruno Haible  <bruno@clisp.org>
26211
26212         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
26213         function chown() doesn't exist.
26214
26215 2003-03-28  Bruno Haible  <bruno@clisp.org>
26216
26217         * modules/copy-file: New file.
26218         * MODULES.html.sh (func_all_modules): Add it.
26219
26220 2003-03-28  Bruno Haible  <bruno@clisp.org>
26221
26222         * m4/copy-file.m4: New file.
26223
26224 2003-03-28  Bruno Haible  <bruno@clisp.org>
26225
26226         * lib/copy-file.h: New file, from GNU gettext.
26227         * lib/copy-file.c: New file, from GNU gettext.
26228
26229 2003-03-18  Jim Meyering  <jim@meyering.net>
26230
26231         * lib/quote.c (quote_n): Fix typo in comment.
26232
26233 2003-03-18  Bruno Haible  <bruno@clisp.org>
26234
26235         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
26236         checking.
26237         * m4/onceonly_2_57.m4: Likewise.
26238
26239 2003-03-17  Bruno Haible  <bruno@clisp.org>
26240
26241         * m4/onceonly.m4: Require autoconf 2.54 or newer.
26242         (m4_quote): Remove macro.
26243         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
26244
26245 2003-03-14  Jim Meyering  <jim@meyering.net>
26246
26247         Merge changes from Coreutils.
26248         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
26249         to be const, in order to avoid warnings.
26250         (obstack_room): Likewise.
26251         (obstack_empty_p): Likewise.
26252
26253 2003-03-14  Bruno Haible  <bruno@clisp.org>
26254
26255         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
26256         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
26257
26258 2003-03-13  Paul Eggert  <eggert@twinsun.com>
26259
26260         Merge changes from Bison.
26261         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
26262         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
26263         when compiling Bison 1.875's `bitset bset = obstack_alloc
26264         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
26265         * lib/hash.c: Include <stdbool.h> unconditionally.
26266
26267 2003-03-13  Paul Eggert  <eggert@twinsun.com>
26268
26269         * m4/onceonly.m4 (m4_quote): New macro.
26270         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
26271         Quote AC_FOREACH variable-expansions properly.
26272
26273 2003-03-13  Paul Eggert  <eggert@twinsun.com>
26274
26275         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
26276
26277 2003-03-09  Paul Eggert  <eggert@twinsun.com>
26278
26279         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
26280         Reported by Bruce Becker; see:
26281         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
26282
26283 2003-03-03  Paul Eggert  <eggert@twinsun.com>
26284             Bruno Haible  <bruno@clisp.org>
26285
26286         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
26287         Reported by John Hughes, see
26288         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
26289
26290 2003-02-20  Bruno Haible  <bruno@clisp.org>
26291
26292         * MODULES.html.sh (func_all_modules): Add poll.
26293
26294 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
26295
26296         * modules/poll: New file.
26297
26298 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
26299
26300         * lib/poll_.h: New file.
26301         * lib/poll.c: New file.
26302
26303 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
26304
26305         * m4/poll.m4: New file.
26306
26307 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
26308
26309         * modules/mathl: New file.
26310
26311 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
26312
26313         * lib/mathl.h: New file.
26314         * lib/acosl.c: New file.
26315         * lib/asinl.c: New file.
26316         * lib/atanl.c: New file.
26317         * lib/ceill.c: New file.
26318         * lib/cosl.c: New file.
26319         * lib/expl.c: New file.
26320         * lib/floorl.c: New file.
26321         * lib/frexpl.c: New file.
26322         * lib/ldexpl.c: New file.
26323         * lib/logl.c: New file.
26324         * lib/sincosl.c: New file.
26325         * lib/sinl.c: New file.
26326         * lib/sqrtl.c: New file.
26327         * lib/tanl.c: New file.
26328         * lib/trigl.c: New file.
26329         * lib/trigl.h: New file.
26330
26331 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
26332
26333         * m4/mathl.m4: New file.
26334
26335 2003-02-18  Bruno Haible  <bruno@clisp.org>
26336
26337         * MODULES.html.sh (func_all_modules): Add mathl.
26338
26339 2003-02-17  Bruno Haible  <bruno@clisp.org>
26340
26341         * modules/mkdtemp: New module.
26342         * MODULES.html.sh (func_all_modules): Add it.
26343
26344 2003-02-17  Bruno Haible  <bruno@clisp.org>
26345
26346         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
26347
26348 2003-02-17  Bruno Haible  <bruno@clisp.org>
26349
26350         * lib/mkdtemp.h: New file, from GNU gettext.
26351         * lib/mkdtemp.c: New file, from GNU gettext.
26352
26353 2003-02-02  Jim Meyering  <jim@meyering.net>
26354
26355         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
26356         e.g. glibc-2.2.93.
26357
26358 2003-01-31  Bruno Haible  <bruno@clisp.org>
26359
26360         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
26361         'rpl_rename'.
26362         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
26363         'rpl_strnlen'.
26364         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
26365         'rpl_strtod'.
26366         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
26367         'rpl_utime'.
26368
26369 2003-01-31  Bruno Haible  <bruno@clisp.org>
26370
26371         * lib/rename.c: #undef rename before defining rpl_rename.
26372         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
26373
26374 2003-01-30  Bruno Haible  <bruno@clisp.org>
26375
26376         * modules/vasnprintf, modules/vasprintf: New modules.
26377         * MODULES.html.sh (func_all_modules): Add them.
26378
26379 2003-01-30  Bruno Haible  <bruno@clisp.org>
26380
26381         * m4/signed.m4: New file, from GNU gettext.
26382         * m4/longdouble.m4: New file, from GNU gettext.
26383         * m4/wchar_t.m4: New file, from GNU gettext.
26384         * m4/wint_t.m4: New file, from GNU gettext.
26385         * m4/vasnprintf.m4: New file.
26386         * m4/vasprintf.m4: New file.
26387
26388 2003-01-30  Bruno Haible  <bruno@clisp.org>
26389
26390         * lib/printf-args.h: New file, from GNU gettext.
26391         * lib/printf-args.c: New file, from GNU gettext.
26392         * lib/printf-parse.h: New file, from GNU gettext.
26393         * lib/printf-parse.c: New file, from GNU gettext.
26394         * lib/vasnprintf.h: New file, from GNU gettext.
26395         * lib/vasnprintf.c: New file, from GNU gettext.
26396         * lib/asnprintf.c: New file, from GNU gettext.
26397         * lib/vasprintf.h: New file, from GNU gettext with modifications.
26398         * lib/vasprintf.c: New file, from GNU gettext.
26399         * lib/asprintf.c: New file, from GNU gettext.
26400
26401 2003-01-29  Bruno Haible  <bruno@clisp.org>
26402
26403         * modules/stpncpy: New module.
26404         * MODULES.html.sh (func_all_modules): Add it.
26405
26406 2003-01-29  Bruno Haible  <bruno@clisp.org>
26407
26408         * m4/stpncpy.m4: New file.
26409
26410 2003-01-29  Bruno Haible  <bruno@clisp.org>
26411
26412         * lib/stpncpy.h: New file, from GNU gettext with modifications.
26413         * lib/stpncpy.c: New file, from GNU gettext with modifications.
26414
26415 2003-01-28  Bruno Haible  <bruno@clisp.org>
26416
26417         * modules/c-ctype: New module.
26418         * MODULES.html.sh (func_all_modules): Add it.
26419
26420 2003-01-28  Bruno Haible  <bruno@clisp.org>
26421
26422         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
26423         Paul Eggert.
26424         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
26425         Paul Eggert.
26426
26427 2003-01-27  Bruno Haible  <bruno@clisp.org>
26428
26429         * modules/xsetenv: New module.
26430         * MODULES.html.sh (func_all_modules): Add it.
26431
26432 2003-01-27  Bruno Haible  <bruno@clisp.org>
26433
26434         * lib/xsetenv.h: New file, from GNU gettext.
26435         * lib/xsetenv.c: New file, from GNU gettext.
26436
26437 2003-01-23  Jim Meyering  <jim@meyering.net>
26438
26439         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
26440         from working on systems without dirfd (at least Irix and OSF1/Tru64).
26441
26442 2003-01-23  Bruno Haible  <bruno@clisp.org>
26443
26444         * modules/minmax: New module.
26445         * MODULES.html.sh (func_all_modules): Add it.
26446
26447 2003-01-23  Bruno Haible  <bruno@clisp.org>
26448
26449         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
26450         Eggert.
26451
26452 2003-01-22  Bruno Haible  <bruno@clisp.org>
26453
26454         * modules/exit: New module.
26455         * MODULES.html.sh (func_all_modules): Add it.
26456
26457 2003-01-22  Bruno Haible  <bruno@clisp.org>
26458
26459         * lib/exit.h: New file, from GNU gettext.
26460
26461 2003-01-19  Bruno Haible  <bruno@clisp.org>
26462
26463         * gnulib-tool: Recognize option --extract-maintainer.
26464         (func_get_maintainer): New function.
26465         * modules/*: Add Maintainer entry.
26466
26467 2003-01-16  Jim Meyering  <jim@meyering.net>
26468
26469         * m4/regex.m4: The `regex' struct is both input and output.
26470         Initialize it before each use.  Patch by Tim Waugh.
26471
26472 2003-01-16  Bruno Haible  <bruno@clisp.org>
26473
26474         * MODULES.html.sh: Add a table of contents. Add the module name as
26475         leftmost column. Add hyperlinks.
26476
26477 2003-01-15  Bruno Haible  <bruno@clisp.org>
26478
26479         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
26480
26481 2003-01-15  Bruno Haible  <bruno@clisp.org>
26482
26483         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
26484         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
26485         suffix.
26486
26487 2003-01-15  Bruno Haible  <bruno@clisp.org>
26488
26489         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
26490
26491 2003-01-15  Bruno Haible  <bruno@clisp.org>
26492
26493         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
26494         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
26495
26496 2003-01-14  Jim Meyering  <jim@meyering.net>
26497
26498         * lib/same.c (same_name): Tweak a comment.
26499
26500 2003-01-14  Bruno Haible  <bruno@clisp.org>
26501
26502         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
26503         when a string comparison is sufficient.
26504
26505 2003-01-14  Bruno Haible  <bruno@clisp.org>
26506
26507         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
26508         'unsigned int'.
26509
26510 2003-01-14  Bruno Haible  <bruno@clisp.org>
26511
26512         * lib/hash-pjw.c: Add comment about low quality of this function.
26513
26514 2003-01-13  Bruno Haible  <bruno@clisp.org>
26515
26516         * modules/stpcpy: Distribute lib/stpcpy.h.
26517         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
26518
26519 2003-01-13  Bruno Haible  <bruno@clisp.org>
26520
26521         * modules/*: Add a description.
26522         * modules/strpbrk: Fix Makefile.am snippet.
26523         * modules/strtoimax: Fix dependencies.
26524         * modules/strtoumax: Likewise.
26525
26526 2003-01-13  Bruno Haible  <bruno@clisp.org>
26527
26528         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
26529         * modules/alloca (Makefile.am): All object files depend on alloca.h.
26530         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
26531
26532 2003-01-13  Bruno Haible  <bruno@clisp.org>
26533
26534         * gnulib-tool (func_create_testdir): Store config/* files in the main
26535         directory.
26536         * config.rpath: Move to ...
26537         * config/config.rpath: ... here.
26538         * modules/gettext: Contains config/config.rpath, not config.rpath.
26539         * modules/iconv: Likewise.
26540
26541 2003-01-12  Paul Eggert  <eggert@twinsun.com>
26542
26543         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
26544         to avoid collisions with libcurses and libreadline.
26545
26546         * m4/getstr.m4: Remove.
26547         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
26548
26549 2003-01-12  Paul Eggert  <eggert@twinsun.com>
26550
26551         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
26552         to avoid collisions with libcurses and libreadline.
26553
26554         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
26555         * lib/getstr.h, getstr.c: Remove.
26556         * lib/getline.c: Include "getline.h", to check interface.
26557         Move body of old getstr.c here: this defines MIN_CHUNK and
26558         declares getdelim2, which is renamed from getstr.
26559         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
26560
26561         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
26562         All uses changed.
26563         * lib/linebuffer.h: Likewise.
26564         (readline): Remove backward-compatibility macro.
26565
26566 2003-01-12  Paul Eggert  <eggert@twinsun.com>
26567
26568         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
26569         to avoid collisions with libcurses and libreadline.
26570         * getstr: Remove.
26571         * MODULES.html.sh: Remove getstr.
26572         * modules/getline: Depend on unlocked-io, not getstr.
26573
26574 2003-01-12  Jim Meyering  <jim@meyering.net>
26575
26576         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
26577
26578 2003-01-10  Bruno Haible  <bruno@clisp.org>
26579
26580         * modules/alloca: Change Makefile.am requirements. Simplify Include
26581         requirements. Add lib/alloca_.h to file list.
26582
26583 2003-01-10  Bruno Haible  <bruno@clisp.org>
26584
26585         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
26586
26587 2003-01-10  Bruno Haible  <bruno@clisp.org>
26588
26589         * lib/alloca_.h: New file.
26590         * lib/getdate.y: Unconditionally include alloca.h.
26591         * lib/makepath.c: Likewise.
26592         * lib/setenv.c: Likewise.
26593         * lib/userspec.c: Likewise.
26594
26595 2003-01-09  Karl Berry  <karl@gnu.org>
26596
26597         * MODULES.html.sh: include `dirname $0` in PATH, to find
26598         gnulib-tool.
26599
26600 2003-01-09  Bruno Haible  <bruno@clisp.org>
26601
26602         * modules/stdbool: Change configure.ac, Makefile.am requirements.
26603         Simplify Include requirements. Add lib/stdbool.h.in to file list.
26604
26605 2003-01-09  Bruno Haible  <bruno@clisp.org>
26606
26607         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
26608
26609 2003-01-09  Bruno Haible  <bruno@clisp.org>
26610
26611         * lib/stdbool.h.in: New file.
26612
26613 2003-01-09  Bruno Haible  <bruno@clisp.org>
26614
26615         * gnulib-tool (func_all_modules): Ignore files ending in ~.
26616         * MODULES.html.sh: Likewise.
26617
26618 2003-01-08  Jim Meyering  <jim@meyering.net>
26619
26620         * lib/full-write.c: Undefine and define-away `const' after inclusion
26621         of errno.h, not before.  Suggestion from Bruno Haible.
26622
26623 2003-01-08  Bruno Haible  <bruno@clisp.org>
26624
26625         * modules/full-read: Depend on full-write.
26626
26627 2003-01-08  Bruno Haible  <bruno@clisp.org>
26628
26629         * lib/safe-read.c: Include specification header first, to ensure its
26630         selfcontainedness.
26631         * lib/full-write.c: Likewise.
26632
26633 2003-01-07  Jim Meyering  <jim@meyering.net>
26634
26635         * lib/full-write.c: Rework so that it may serve to define full_read,
26636         too.
26637         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
26638
26639 2003-01-07  Bruno Haible  <bruno@clisp.org>
26640
26641         * lib/strtoimax.c: Include <stdint.h> as an alternative to
26642         <inttypes.h>.
26643         * lib/xstrtol.h: Likewise.
26644         * lib/xstrtoimax.c: Likewise.
26645         * lib/xstrtoumax.c: Likewise.
26646         * lib/human.h: Likewise.
26647
26648         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
26649         on systems that have <inttypes.h> but not <stdint.h>.
26650
26651 2003-01-07  Bruno Haible  <bruno@clisp.org>
26652
26653         * MODULES.html.sh: Add copyright notice.
26654         (missed_files): Omit CVS directory entries.
26655         (func_module): Make it work with sed-3.02.
26656         * MODULES.txt: Remove file.
26657
26658 2003-01-06  Jim Meyering  <jim@meyering.net>
26659
26660         * lib/version-etc.c: Update year in translatable copyright string.
26661
26662 2003-01-03  Karl Berry  <karl@gnu.org>
26663
26664         * config/config.{guess,sub}: update from prep.
26665
26666 2003-01-02  Karl Berry  <karl@gnu.org>
26667
26668         * doc/COPYING.DOC: belatedly updated to 1.2.
26669
26670 2003-01-01  Karl Berry  <karl@gnu.org>
26671
26672         * gnulib-tool (func_verify_module): report module name $module in
26673         error message, not $1.
26674         * gnulib-tool (create-testdir): don't complain if destdir couldn't
26675         be created, only if it doesn't exist.
26676         * gnulib-tool (last_checkin_date): don't expand the $Date here.
26677
26678 2002-12-31  Paul Eggert  <eggert@twinsun.com>
26679
26680         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
26681
26682 2002-12-31  Paul Eggert  <eggert@twinsun.com>
26683
26684         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
26685         memcmp if strcoll doesn't work.
26686
26687 2002-12-31  Bruno Haible  <bruno@clisp.org>
26688
26689         * lib/utime.c (utime_null): No need to call ftruncate if the file was
26690         nonempty.
26691
26692 2002-12-31  Bruno Haible  <bruno@clisp.org>
26693
26694         * lib/memcoll.c (STRCOLL): New macro.
26695         (memcoll): Use it.
26696
26697 2002-12-31  Bruno Haible  <bruno@clisp.org>
26698
26699         * lib/localcharset.h: New file.
26700         * lib/localcharset.c: Include it.
26701         * lib/unicodeio.c: Likewise.
26702
26703 2002-12-31  Bruno Haible  <bruno@clisp.org>
26704
26705         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
26706         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
26707
26708 2002-12-31  Bruno Haible  <bruno@clisp.org>
26709
26710         * lib/getline.h: Include <stddef.h>, for size_t.
26711
26712         * lib/unicodeio.h: Include <stddef.h>, for size_t.
26713         * lib/unicodeio.c: Don't include <stddef.h>.
26714
26715 2002-12-31  Bruno Haible  <bruno@clisp.org>
26716
26717         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
26718         HAVE_TM_ZONE.
26719
26720 2002-12-24  Karl Berry  <karl@gnu.org>
26721
26722         * config/config.guess: update from prep.
26723
26724 2002-12-24  Bruno Haible  <bruno@clisp.org>
26725
26726         General infrasructure.
26727         * m4/README: Rewritten.
26728         * m4/onceonly.m4: New file.
26729         * m4/onceonly_2_57.m4: New file.
26730
26731         Module atexit.
26732         * m4/atexit.m4: New file.
26733
26734         Module strtod.
26735         * m4/strtod.m4: New file.
26736
26737         Module strtol.
26738         * m4/strtol.m4: New file.
26739
26740         Module strtoul.
26741         * m4/strtoul.m4: New file.
26742
26743         Module memchr.
26744         * m4/memchr.m4: New file.
26745
26746         Module memcmp.
26747         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
26748         (jm_FUNC_MEMCMP): Invoke it.
26749
26750         Module memcpy.
26751         * m4/memcpy.m4: New file.
26752
26753         Module memmove.
26754         * m4/memmove.m4: New file.
26755
26756         Module memset.
26757         * m4/memset.m4: New file.
26758
26759         Module strcspn.
26760         * m4/strcspn.m4: New file.
26761
26762         Module strpbrk.
26763         * m4/strpbrk.m4: New file.
26764
26765         Module strstr.
26766         * m4/strstr.m4: New file.
26767
26768         Module strerror.
26769         * m4/strerror.m4: New file.
26770
26771         Module mktime.
26772         * m4/mktime.m4: Renamed from jm-mktime.m4.
26773         (gl_PREREQ_MKTIME): New macro.
26774         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
26775
26776         Module malloc.
26777         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
26778         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
26779         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
26780
26781         Module realloc.
26782         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
26783         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
26784         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
26785
26786         Module strftime.
26787         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
26788         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
26789         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
26790         gl_TM_GMTOFF.
26791         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
26792
26793         Module xalloc.
26794         * m4/xalloc.m4: New file.
26795
26796         Module alloca.
26797         * m4/alloca.m4: New file.
26798
26799         Module putenv.
26800         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
26801         (jm_FUNC_PUTENV): Invoke it.
26802
26803         Module setenv.
26804         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
26805         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
26806         when invoked twice.
26807         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
26808         gt_FUNC_SETENV.
26809
26810         Module memrchr.
26811         * m4/memrchr.m4: New file.
26812
26813         Module stpcpy.
26814         * m4/stpcpy.m4: New file.
26815
26816         Module strcase.
26817         * m4/strcase.m4: New file.
26818
26819         Module strdup.
26820         * m4/strdup.m4: New file.
26821
26822         Module strnlen.
26823         * m4/strnlen.m4: New file.
26824
26825         Module strndup.
26826         * m4/strndup.m4: New file.
26827
26828         Module xstrtod.
26829         * m4/xstrtod.m4: New file.
26830
26831         Module xstrtol.
26832         * m4/xstrtol.m4: New file.
26833
26834         Module getdate.
26835         * m4/getdate.m4: New file.
26836
26837         Module unlocked-io.
26838         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
26839         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
26840         * m4/jm-glibc-io.m4n: Remove file.
26841
26842         Module long-options.
26843         * m4/long-options.m4: New file.
26844
26845         Module md5.
26846         * m4/md5.m4: New file.
26847
26848         Module sha.
26849         * m4/sha.m4: New file.
26850
26851         Module getstr.
26852         * m4/getstr.m4: New file.
26853
26854         Module getline.
26855         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
26856         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
26857         <sys/types.h>, for size_t. Use the function name gnu_getline, not
26858         simply getline. Infoke gl_PREREQ_GETLINE.
26859
26860         Module obstack.
26861         * m4/obstack.m4: New file.
26862
26863         Module hash.
26864         * m4/hash.m4: New file.
26865
26866         Module readtokens.
26867         * m4/readtokens.m4: New file.
26868
26869         Module strverscmp.
26870         * m4/strverscmp.m4: New file.
26871
26872         Module stdbool.
26873         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
26874         OSF/1.
26875
26876         Module strtoll.
26877         * m4/strtoll.m4: New file.
26878
26879         Module strtoull.
26880         * m4/strtoull.m4: New file.
26881
26882         Module strtoimax.
26883         * m4/strtoimax.m4: New file.
26884
26885         Module strtoumax.
26886         * m4/strtoumax.m4: New file.
26887
26888         Module xstrtoimax.
26889         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
26890         jm_AC_PREREQ_XSTRTOIMAX.
26891         Moved the strtol prerequisites to strtol.m4.
26892         Moved the strtoll prerequisites to strtoll.m4.
26893         Moved the strtoimax prerequisites to strtoimax.m4.
26894
26895         Module xstrtoumax.
26896         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
26897         jm_AC_PREREQ_XSTRTOUMAX.
26898         Moved the strtoul prerequisites to strtoul.m4.
26899         Moved the strtoull prerequisites to strtoull.m4.
26900         Moved the strtoumax prerequisites to strtoumax.m4.
26901
26902         Module chown.
26903         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
26904         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
26905
26906         Module dup2.
26907         * m4/dup2.m4: New file.
26908
26909         Module ftruncate.
26910         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
26911         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
26912
26913         Module getgroups.
26914         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
26915         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
26916
26917         Module gettimeofday.
26918         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
26919         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
26920         gl_PREREQ_GETTIMEOFDAY.
26921
26922         Module mkdir.
26923         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
26924         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
26925
26926         Module mkstemp.
26927         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
26928         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
26929         jm_AC_TYPE_UINTMAX_T.
26930         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
26931
26932         Module stat.
26933         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
26934         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
26935
26936         Module lstat.
26937         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
26938         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
26939
26940         Module timespec.
26941         * m4/timespec.m4 (gl_TIMESPEC): New macro.
26942         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
26943         * m4/st_mtim.m4: Indentation.
26944
26945         Module nanosleep.
26946         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
26947         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
26948         gl_PREREQ_NANOSLEEP.
26949
26950         Module regex.
26951         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
26952         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
26953         (gl_REGEX): New macro.
26954
26955         Module rename.
26956         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
26957         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
26958
26959         Module rmdir.
26960         * m4/rmdir.m4: New file.
26961
26962         Module utime.
26963         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
26964         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
26965         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
26966
26967         Module dirname.
26968         * m4/dirname.m4: New file.
26969
26970         Module getopt.
26971         * m4/getopt.m4: New file.
26972
26973         Module unistd-safer.
26974         * m4/unistd-safer.m4: New file.
26975
26976         Module fnmatch.
26977         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
26978         declaration.
26979         (gl_PREREQ_FNMATCH_EXTRA): New macro.
26980         (gl_FUNC_FNMATCH_POSIX): New macro.
26981         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
26982         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
26983         simply fnmatch.
26984
26985         Module exclude.
26986         * m4/exclude.m4: New file.
26987
26988         Module human.
26989         * m4/human.m4: New file.
26990
26991         Module acl.
26992         * m4/acl.m4: Nop.
26993
26994         Module backupfile.
26995         * m4/backupfile.m4: New file.
26996         * m4/d-ino.m4: Indentation.
26997
26998         Module fsusage.
26999         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
27000         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
27001         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
27002
27003         Module dirfd.
27004         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
27005         requirements.
27006
27007         Module euidaccess.
27008         * m4/euidaccess.m4: New file.
27009
27010         Module file-type.
27011         * m4/file-type.m4: New file.
27012
27013         Module fileblocks.
27014         * m4/fileblocks.m4: New file.
27015
27016         Module filemode.
27017         * m4/filemode.m4: New file.
27018
27019         Module isdir.
27020         * m4/isdir.m4: New file.
27021
27022         Module lchown.
27023         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
27024         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
27025
27026         Module makepath.
27027         * m4/makepath.m4: New file.
27028
27029         Module modechange.
27030         * m4/modechange.m4: New file.
27031
27032         Module mountlist.
27033         * m4/mountlist.m4: New file.
27034         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
27035         Indentation.
27036
27037         Module path-concat.
27038         * m4/path-concat.m4: New file.
27039
27040         Module pathmax.
27041         * m4/pathmax.m4: New file.
27042
27043         Module same.
27044         * m4/same.m4: New file.
27045
27046         Module save-cwd.
27047         * m4/save-cwd.m4: New file.
27048
27049         Module savedir.
27050         * m4/savedir.m4: New file.
27051
27052         Module xgetcwd.
27053         * m4/xgetcwd.m4: New file.
27054         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
27055
27056         Module xreadlink.
27057         * m4/xreadlink.m4: New file.
27058
27059         Module safe-read.
27060         * m4/safe-read.m4: New file.
27061
27062         Module safe-write.
27063         * m4/safe-write.m4: New file.
27064
27065         Module closeout.
27066         * m4/closeout.m4: New file.
27067
27068         Module stdio-safer.
27069         * m4/stdio-safer.m4: New file.
27070
27071         Module getpass.
27072         * m4/getpass.m4: New file.
27073
27074         Module getugroups.
27075         * m4/getugroups.m4: New file.
27076
27077         Module group-member.
27078         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
27079         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
27080
27081         Module idcache.
27082         * m4/idcache.m4: New file.
27083
27084         Module userspec.
27085         * m4/userspec.m4: New file.
27086
27087         Module gettime.
27088         * m4/clock_time.m4: New file.
27089         * m4/gettime.m4: New file.
27090
27091         Module settime.
27092         * m4/settime.m4: New file.
27093
27094         Module posixtm.
27095         * m4/posixtm.m4: New file.
27096
27097         Module gethostname.
27098         * m4/gethostname.m4: New file.
27099
27100         Module canon-host.
27101         * m4/canon-host.m4: New file.
27102
27103         Module gettext.
27104         * m4/codeset.m4: New file, from gettext-0.11.5.
27105         * m4/gettext.m4: New file, from gettext-0.11.5.
27106         * m4/glibc21.m4: New file, from gettext-0.11.5.
27107         * m4/iconv.m4: New file, from gettext-0.11.5.
27108         * m4/intdiv0.m4: New file, from gettext-0.11.5.
27109         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
27110         * m4/inttypes.m4: New file, from gettext-0.11.5.
27111         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
27112         * m4/isc-posix.m4: New file, from gettext-0.11.5.
27113         * m4/lcmessage.m4: New file, from gettext-0.11.5.
27114         * m4/lib-ld.m4: New file, from gettext-0.11.5.
27115         * m4/lib-link.m4: New file, from gettext-0.11.5.
27116         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
27117         * m4/progtest.m4: New file, from gettext-0.11.5.
27118         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
27119         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
27120         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
27121
27122         Module localcharset.
27123         * m4/localcharset.m4: New file.
27124
27125         Module hard-locale.
27126         * m4/hard-locale.m4: New file.
27127
27128         Module mbswidth.
27129         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
27130         onceonly macros.
27131         * m4/mbrtowc.m4: Add comment.
27132
27133         Module memcasecmp.
27134         * m4/memcasecmp.m4: New file.
27135
27136         Module memcoll.
27137         * m4/memcoll.m4: New file.
27138
27139         Module unicodeio.
27140         * m4/unicodeio.m4: New file.
27141
27142         Module rpmatch.
27143         * m4/rpmatch.m4: New file.
27144
27145         Module yesno.
27146         * m4/yesno.m4: New file.
27147
27148         Module exitfail.
27149         * m4/exitfail.m4: New file.
27150
27151         Module c-stack.
27152         * m4/c-stack.m4 (gl_C_STACK): New macro.
27153         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
27154
27155         Module error.
27156         * m4/error.m4 (gl_ERROR): New macro.
27157         (jm_PREREQ_ERROR): Use onceonly macros.
27158
27159         Module fatal.
27160         * m4/fatal.m4: New file.
27161
27162         Module getloadavg.
27163         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
27164         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
27165
27166         Module getpagesize.
27167         * m4/getpagesize.m4: New file.
27168
27169         Module getusershell.
27170         * m4/getusershell.m4: New file.
27171
27172         Module physmem.
27173         * m4/physmem.m4: New file.
27174
27175         Module posixver.
27176         * m4/posixver.m4: New file.
27177
27178         Module quotearg.
27179         * m4/quotearg.m4: New file.
27180
27181         Module quote.
27182         * m4/quote.m4: New file.
27183
27184         Module readutmp.
27185         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
27186
27187         Module sig2str.
27188         * m4/sig2str.m4: New file.
27189
27190         Other.
27191         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
27192         ulonglong.m4.
27193         * m4/intmax_t.m4: New file.
27194         * m4/d-type.m4: Indentation.
27195         * m4/jm-macros.m4: Update.
27196         * m4/prereq.m4 (jm_PREREQ): Update.
27197         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
27198         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
27199         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
27200         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
27201         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
27202         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
27203         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
27204         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
27205         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
27206         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
27207         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
27208         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
27209         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
27210         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
27211         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
27212         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
27213         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
27214         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
27215         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
27216
27217 2002-12-24  Bruno Haible  <bruno@clisp.org>
27218
27219         * MODULES.txt: Update according to m4/ changes.
27220
27221         Module gettext.
27222         * config.rpath: New file, from gettext-0.11.5.
27223
27224         * modules/*: New module descriptions.
27225         * gnulib-tool: New file.
27226         * MODULES.html.sh: New file.
27227
27228 2002-12-21  Karl Berry  <karl@gnu.org>
27229
27230         * doc/fdl.texi: update to version 1.2.
27231
27232 2002-12-19  Karl Berry  <karl@gnu.org>
27233
27234         * config/config.guess: update from prep.
27235
27236 2002-12-18  Bruno Haible  <bruno@clisp.org>
27237
27238         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
27239         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
27240
27241 2002-12-17  Bruno Haible  <bruno@clisp.org>
27242
27243         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
27244         stdlib.h, string.h.
27245
27246 2002-12-17  Bruno Haible  <bruno@clisp.org>
27247
27248         * lib/canon-host.c (strdup): Remove unused declaration.
27249
27250         * lib/fsusage.c: Include full_read.h.
27251         (get_fs_usage): Use full_read instead of safe_read.
27252
27253         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
27254
27255 2002-12-12  Karl Berry  <karl@gnu.org>
27256
27257         * config/config.guess: update from prep.
27258
27259 2002-12-11  Bruno Haible  <bruno@clisp.org>
27260
27261         * m4/setenv.m4: New file, from gettext-0.11.5.
27262
27263 2002-12-11  Bruno Haible  <bruno@clisp.org>
27264
27265         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
27266         not unsetenv().
27267         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
27268         modifications:
27269
27270         2002-12-11  Bruno Haible  <bruno@clisp.org>
27271
27272                 * setenv.c (alloca): Fall back to malloc.
27273                 (freea): New macro.
27274                 (setenv): Use freea() to free memory allocated with alloca().
27275
27276         2002-11-13  Bruno Haible  <bruno@clisp.org>
27277
27278                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
27279                 function declarations.
27280                 * unsetenv.c (unsetenv): Likewise.
27281
27282         2002-03-04  Bruno Haible  <bruno@clisp.org>
27283
27284                 Portability to AIX 4.3.3.
27285                 * unsetenv.c: New file, extracted from setenv.c.
27286                 * setenv.c: Move the unsetenv() function to unsetenv.c.
27287
27288         2001-12-20  Bruno Haible  <bruno@clisp.org>
27289
27290                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
27291                 use malloc instead. For SunOS 4.
27292
27293         2001-12-11  Bruno Haible  <bruno@clisp.org>
27294
27295                 * setenv.c: Declare alloca.
27296                 (compar_fn_t): New typedef.
27297                 (KNOWN_VALUE, STORE_VALUE): Use it.
27298
27299         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
27300         setenv.h.
27301
27302 2002-12-10  Paul Eggert  <eggert@twinsun.com>
27303
27304         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
27305         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
27306         Choose values that are less likely to collide with system fnmatch
27307         options.
27308         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
27309         defined (e.g., a pure POSIX system).
27310         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
27311         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
27312
27313 2002-12-06  Paul Eggert  <eggert@twinsun.com>
27314
27315         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
27316         a pain in practice to deal with generated m4 files.  This change
27317         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
27318
27319         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
27320         and jm-glibc-io.m4, as they are no longer a special case.
27321         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
27322         kludge and the auto-generation stuff.  Check only whether the
27323         functions are declared, not whether they exist, since older hosts
27324         that don't declare the functions can't use the optimization anyway.
27325
27326 2002-12-06  Jim Meyering  <jim@meyering.net>
27327
27328         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
27329
27330         Merge in changes from libc's misc/error.c, in preparation
27331         for the merge of gnulib's changes back into libc.
27332
27333         * lib/error.c (_): Define only if not already defined.
27334         Move definition to follow all #include directives.
27335         Include unlocked-io.h only if !_LIBC.
27336         [_LIBC]: Include <libio/libioP.h>.
27337         [USE_IN_LIBIO]: Include <libio/iolibio.h>
27338         (fflush): Tweak definition to use INTUSE.
27339         (putc): Define.
27340
27341 2002-12-05  Paul Eggert  <eggert@twinsun.com>
27342
27343         * lib/alloca.c [defined emacs]: Include "lisp.h".
27344         (xalloc_die) [defined emacs]: New macro.
27345         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
27346         [! defined emacs]: Include <xalloc.h>.
27347         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
27348         (pointer): Typedef to POINTER_TYPE *.
27349         (malloc): Remove decl; we now always use xmalloc.
27350         (alloca): Use old-style definition, since Emacs needs this.
27351         Check for arithmetic overflow when computing combined size.
27352
27353 2002-12-04  Paul Eggert  <eggert@twinsun.com>
27354
27355         Do not generate unlocked-io.h automatically, since it's easier to
27356         maintain it by hand.
27357
27358         * lib/unlocked-io.h: New file, from GNU diffutils,
27359         but with proper copyright notice and attribution.
27360         * lib/gen-uio: Remove.
27361         * lib/Makefile.am: Add copyright notice.
27362         (libfetish_a_SOURCES): Add unlocked-io.h.
27363         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
27364         (DISTCLEANFILES, io_functions): Remove macros.
27365         (EXTRA_DIST): Remove gen_uio.
27366         (unlocked-io.h): Remove rule.
27367
27368 2002-12-04  Jim Meyering  <jim@meyering.net>
27369
27370         Reflect the fact that stat.c and lstat.c are no longer generated.
27371         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
27372         (DISTCLEANFILES): Likewise.
27373         (EXTRA_DIST): Likewise.
27374         (all_local): Don't depend on stat.c or lstat.c.
27375         (stat.c, lstat.c): Remove rules.
27376         (EXTRA_DIST): Remove xstat.in.
27377
27378         * lib/xstat.in: Remove file.  Contents moved into stat.c.
27379         * lib/stat.c: New file.  Contents mostly from xstat.in.
27380         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
27381         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
27382
27383         * lib/safe-read.c: Rework so that it may serve to define safe_write,
27384         too.
27385         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
27386
27387 2002-12-03  Jim Meyering  <jim@meyering.net>
27388
27389         * lib/safe-read.c, safe-write.c: Change variable names and comments,
27390         but not semantics, to minimize the differences between these two files.
27391         (safe_read): Change comment to mention SAFE_READ_ERROR.
27392
27393         * lib/safe-read.c (IS_EINTR): Define.
27394         (safe_read): Use IS_EINTR in place of in-function cpp directives.
27395
27396 2002-12-02  Jim Meyering  <jim@meyering.net>
27397
27398         * lib/safe-read.c (EINTR): Define.
27399         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
27400         (INT_MAX): Provide fallback.
27401         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
27402
27403         * lib/safe-read.h (SAFE_READ_ERROR): Define.
27404
27405 2002-12-02  Bruno Haible  <bruno@clisp.org>
27406
27407         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
27408         Define, taken from safe-read.c.
27409         (INT_MAX): Provide fallback.
27410         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
27411         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
27412
27413         * lib/safe-read.c (EINTR): Remove definition.
27414         (safe_read): Don't use EINTR if it is absent.
27415
27416 2002-12-01  Jim Meyering  <jim@meyering.net>
27417
27418         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
27419         zero.
27420         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
27421
27422 2002-11-27  Paul Eggert  <eggert@twinsun.com>
27423
27424         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
27425         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
27426         with `if (! (value < limit)) abort ();', for readability.
27427
27428 2002-11-26  Karl Berry  <karl@gnu.org>
27429
27430         * lib/strdup.c: copy from libc again, with jim's ok.
27431         * lib/.cppi-disable: re-add strdup.c
27432
27433 2002-11-25  Karl Berry  <karl@gnu.org>
27434
27435         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
27436         instead of "strtol.c".
27437
27438 2002-11-25  Karl Berry  <karl@gnu.org>
27439
27440         * config/install-sh: update from automake for variable quoting, $0 in
27441         error msgs, etc.
27442
27443         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
27444         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
27445         entry.
27446
27447 2002-11-25  Jim Meyering  <jim@meyering.net>
27448
27449         * lib/mktime.c: Sync from libc, now that it has the latest fix.
27450
27451 2002-11-24  Karl Berry  <karl@gnu.org>
27452
27453         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
27454         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
27455
27456 2002-11-24  Jim Meyering  <jim@meyering.net>
27457
27458         Update from coreutils:
27459
27460         * lib/mktime.c: Merge in changes from libc.
27461
27462         Avoid a link-time failure on some Linux systems.
27463         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
27464         (otherwise).
27465         (__mon_yday): Declare with the STATIC attribute.
27466         (__mktime_internal): Likewise.
27467         Based on a report from Greg Schafer.
27468
27469 2002-11-23  Jim Meyering  <jim@meyering.net>
27470
27471         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
27472         Use `unsigned', not `int', as type of index.
27473
27474         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
27475
27476         * lib/fsusage.c: Remove unneeded parentheses around operands of
27477         `defined'.
27478
27479 2002-11-22  Paul Eggert  <eggert@twinsun.com>
27480
27481         * lib/quotearg.h: Allow multiple inclusion by surrounding with
27482         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
27483         so that we can be included first.
27484         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
27485         * lib/quotearg.c: Include quotearg.h immediately after config.h.
27486         No need to include stddef.h or sys/types.h any more.
27487         Surround local include files with "", not "<>".
27488         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
27489         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
27490         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
27491         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
27492         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
27493         (ISPRINT): Remove; no longer needed now that we assume C89.
27494
27495         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
27496         Preserve errno.
27497
27498         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
27499         quotearg_char): Use SIZE_MAX rather than
27500         (size_t) -1 when we are talking about "infinity".
27501
27502         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
27503
27504 2002-11-22  Paul Eggert  <eggert@twinsun.com>
27505
27506         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
27507         hint that one should use `if (! x) abort ();' rather than `assert
27508         (x);', and anyway it's one less thing to worry about configuring.
27509         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
27510         hash_rehash, hash_insert): Use abort rather than assert.
27511
27512 2002-11-22  Bruno Haible  <bruno@clisp.org>
27513
27514         * lib/safe-read.h: Assume C89. Add comments.
27515         (safe_read): Change return type to size_t.
27516         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
27517         byte counts > SSIZE_MAX correctly.
27518         * lib/safe-write.h: New file.
27519         * lib/safe-write.c: New file.
27520         * lib/full-read.h: New file.
27521         * lib/full-read.c: New file.
27522         * lib/full-write.h: Assume C89. Add comments.
27523         * lib/full-write.c: Include safe-write.h.
27524         (full_write): Rewritten to use safe_write.
27525         Suggested by Jim Meyering and Paul Eggert.
27526
27527 2002-11-21  Jim Meyering  <jim@meyering.net>
27528
27529         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
27530
27531         Merge in changes from the coreutils.
27532
27533         2002-09-25  Paul Eggert  <eggert@twinsun.com>
27534         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
27535         <stdint.h>.
27536         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
27537         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
27538         int.  Work more efficiently if X is the same width as uintmax_t.
27539         Do not compare X to -1, to avoid bogus compiler warning.
27540         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
27541         Don't assume that f_frsize and f_bsize are the same type.
27542
27543         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
27544         warning on FreeBSD.
27545
27546         * lib/makepath.c (make_path): Restore umask *before* creating the final
27547         component.
27548         (make_path): Minor reformatting.
27549
27550         * lib/xmalloc.c: Adjust to work with new autoconf macros,
27551         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
27552         HAVE_MALLOC/HAVE_REALLOC.
27553
27554         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
27555         dummy ones.  At least on GNU/Linux systems, `auto' means something
27556         else.
27557         From Michael Stone.
27558
27559 2002-11-21  Bruno Haible  <bruno@clisp.org>
27560
27561         Remove case insensitive option matching.
27562         * lib/argmatch.h (argcasematch): Remove declaration.
27563         (ARGCASEMATCH): Remove macro.
27564         (__xargmatch_internal): Remove case_sensitive argument.
27565         (XARGMATCH): Update.
27566         (XARGCASEMATCH): Remove macro.
27567         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
27568         case_sensitive argument.
27569         (argcasematch): Remove function.
27570         (__xargmatch_internal): Remove case_sensitive argument.
27571         (main): Use XARGMATCH instead of XARGCASEMATCH.
27572
27573         * lib/xmalloc.c: Change compile-time error message. Add comment about
27574         required autoconf version.
27575
27576 2002-11-20  Paul Eggert  <eggert@twinsun.com>
27577
27578         Merge argmatch cleanups from Bison.  Assume C89.
27579
27580         * lib/argmatch.c: Include config.h here, not in argmatch.h.
27581         Include stdlib.h, for EXIT_FAILURE.
27582         Always include <string.h>, since we assume C89.
27583         (EXIT_FAILURE): Remove pre-C89 bug workaround.
27584         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
27585         Include <stddef.h> instead, since it's all we need for size_t.
27586         (PARAMS): Remove.  All uses removed.
27587         (ARRAY_CARDINALITY): Do not bother to #undef.
27588         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
27589         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
27590         Remove unnecessary parentheses.
27591         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
27592         Insert necessary parentheses.
27593         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
27594         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
27595
27596 2002-11-19  Bruno Haible  <bruno@clisp.org>
27597
27598         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
27599         * lib/mbswidth.h: Include <stddef.h>, for size_t.
27600
27601         * lib/mbswidth.h (PARAMS): Remove macro.
27602         (mbswidth, mbsnwidth): Use ANSI C function declarations.
27603         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
27604
27605         * lib/gcd.h (PARAMS): Remove macro.
27606         (gcd): Use ANSI C function declarations.
27607         * lib/gcd.c (gcd): Likewise.
27608
27609 2002-11-15  Bruno Haible  <bruno@clisp.org>
27610
27611         * lib/strcspn.c: Include <stddef.h>.
27612         (strcspn): Use ANSI C function declaration. Change return type to
27613         size_t. Use NULL.
27614         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
27615         (strpbrk): Use NULL.
27616         * lib/strpbrk.h (PARAMS): Remove macro.
27617         (strpbrk): Use ANSI C function declaration.
27618         * lib/strstr.c: Don't include <sys/types.h>.
27619         * lib/strstr.h (PARAMS): Remove macro.
27620         (strstr): Use ANSI C function declarations.
27621
27622 2002-11-14  Karl Berry  <karl@gnu.org>
27623
27624         * config/mkinstalldirs: `do' on separate line, instead of
27625         `for var; do'.
27626
27627 2002-11-06  Bruno Haible  <bruno@clisp.org>
27628
27629         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
27630         * lib/gcd.c (gcd): Likewise.
27631
27632 2002-11-05  Bruno Haible  <bruno@clisp.org>
27633
27634         * lib/gcd.h: New file, from gettext-0.11.5.
27635         * lib/gcd.c: New file, from gettext-0.11.5.
27636
27637 2002-11-05  Bruno Haible  <bruno@clisp.org>
27638
27639         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
27640         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
27641         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
27642         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
27643
27644         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
27645         <libintl.h>.
27646         * lib/makepath.c: Include gettext.h instead of <locale.h> and
27647         <libintl.h>.
27648
27649         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
27650         * lib/human.c: Include gettext.h instead of <libintl.h>.
27651         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
27652         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
27653         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
27654         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
27655         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
27656         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
27657         (textdomain): Remove definition.
27658         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
27659
27660         * lib/long-options.c: Remove include of <libintl.h> and definition of
27661         _.
27662         * lib/same.c: Remove include of <libintl.h> and definition of _.
27663
27664 2002-11-04  Owen Taylor  <otaylor@redhat.com>
27665
27666         * lib/config.charset: A few additions for Solaris.
27667
27668 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
27669
27670         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
27671         * lib/localcharset.c (locale_charset): Declare as extern "C".
27672
27673 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
27674
27675         * lib/config.charset: msdos in uk_UA uses CP1125.
27676
27677 2002-11-04  Bruno Haible  <bruno@clisp.org>
27678
27679         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
27680         * lib/strcase.h: New file, from GNU gettext-0.11.5.
27681         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
27682         * lib/strstr.h: New file, from GNU gettext-0.11.5.
27683         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
27684
27685 2002-11-04  Bruno Haible  <bruno@clisp.org>
27686
27687         * lib/localcharset.c (locale_charset): Don't return an empty string.
27688
27689 2002-11-04  Bruno Haible  <bruno@clisp.org>
27690
27691         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
27692         aliases.
27693
27694 2002-11-04  Bruno Haible  <bruno@clisp.org>
27695
27696         * lib/config.charset: Update for newest glibc. Add canonical names
27697         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
27698
27699 2002-11-04  Bruno Haible  <bruno@clisp.org>
27700
27701         * lib/config.charset: Add support for NetBSD.
27702
27703 2002-11-04  Bruno Haible  <bruno@clisp.org>
27704
27705         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
27706
27707 2002-11-01  Bruno Haible  <bruno@clisp.org>
27708
27709         * configure.in: Add AC_CONFIG_AUX_DIR call.
27710         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
27711         test/Makefile.
27712         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
27713
27714 2002-09-28  Karl Berry  <karl@gnu.org>
27715
27716         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
27717         installed automake until the next release, since changes have been
27718         made.
27719
27720 2002-09-25  Karl Berry  <karl@gnu.org>
27721
27722         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
27723         * lib/getopt*: copy from libc/posix.
27724         * lib/gettext.h: copy from gettext.
27725         * lib/.cppi-disable: add strdup.c, gettext.h.
27726
27727 2002-09-25  Karl Berry  <karl@gnu.org>
27728
27729         * config/srclist.txt: enable gettext.h check.
27730         * config/config.{guess,sub}: update from prep.
27731         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
27732                 from automake 1.6.3.
27733         See srclist*.
27734
27735 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
27736
27737         * regex.c (PATFETCH): Remove the translating fetch.
27738         (PATFETCH_RAW): Rename to PATFETCH.
27739         (set_image_of_range): New fun.
27740         (SET_RANGE_TABLE_WORK_AREA): Use it.
27741         (regex_compile): Don't translate the pattern chars so eagerly.
27742         Only do it when inserting an `exactn' bytecode or when handling
27743         a char-range.
27744         (mutually_exclusive_p): Avoid empty statement.
27745
27746 2002-07-06  Jim Meyering  <meyering@lucent.com>
27747
27748         * m4/README: Don't mention Makefile.am.in.
27749         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
27750
27751 2002-07-01  Jim Meyering  <meyering@lucent.com>
27752
27753         * lib/c-stack.c: Include sys/time.h.
27754         From Volker Borchert.
27755
27756 2002-06-26  Paul Eggert  <eggert@twinsun.com>
27757
27758         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
27759
27760 2002-06-26  Paul Eggert  <eggert@twinsun.com>
27761
27762         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
27763         New macro.  Use it uniformly instead of
27764         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
27765         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
27766         reported by Vin Shelton.
27767
27768 2002-06-22  Paul Eggert  <eggert@twinsun.com>
27769
27770         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
27771         Do not assume SA_SIGINFO behavior.
27772         Bug reported by Jim Meyering on NetBSD 1.5.2.
27773
27774 2002-06-22  Jim Meyering  <meyering@lucent.com>
27775
27776         * m4/c-stack.m4: New file, from diffutils-2.8.2.
27777         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
27778
27779         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
27780         now that configure.ac uses AC_GNU_SOURCE.
27781         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
27782         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
27783
27784         Update to latest tools.  Suggestions from Paul Eggert.
27785         * m4/stdbool.m4: New file, from diffutils-2.8.2.
27786         * m4/gnu-source.m4: Update from diffutils-2.8.2.
27787         * m4/fnmatch.m4: Likewise.
27788         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
27789         to AC_HEADER_STDBOOL
27790
27791 2002-06-22  Jim Meyering  <meyering@lucent.com>
27792
27793         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
27794         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
27795
27796 2002-06-22  Jim Meyering  <meyering@lucent.com>
27797
27798         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
27799
27800         * lib/exitfail.c, exitfail.h: Likewise.
27801         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
27802
27803         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
27804         of fnmatch.h.
27805         (EXTRA_DIST): Add fnmatch_loop.c.
27806         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
27807
27808         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
27809         * lib/fnmatch.c: Update from diffutils-2.8.2.
27810         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
27811         * lib/fnmatch.h: Remove file.
27812
27813 2002-06-21  Jim Meyering  <meyering@lucent.com>
27814
27815         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
27816         * m4/mbrtowc.m4: Likewise.
27817
27818         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
27819         * m4/mbswidth.m4: Reflect name change:
27820         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
27821         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
27822
27823         * m4/lib-link.m4: Update from gettext-0.11.2.
27824         * m4/gettext.m4: Likewise.
27825
27826         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
27827         From Alfred M. Szmidt.
27828
27829 2002-06-18  Paul Eggert  <eggert@twinsun.com>
27830
27831         * lib/file-type.h: Report an error if neither S_ISREG nor
27832         S_IFREG is defined, instead of using a test specific to glibc
27833         2.2.  This should be safe, since POSIX requires S_ISREG and
27834         Unix Version 7 had S_IFREG.  We don't need to check for
27835         <sys/types.h> since we don't use any symbols that it defines.
27836
27837 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
27838
27839         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
27840         $@-t, so that each temporary file name is unique and valid in the first
27841         8 characters, for operation under DOS.
27842
27843 2002-06-15  Paul Eggert  <eggert@twinsun.com>
27844
27845         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
27846
27847 2002-06-15  Jim Meyering  <meyering@lucent.com>
27848
27849         Work even with DJGPP 2.03, which lacks support for symlinks.
27850         From Richard Dawe.
27851         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
27852         is defined.
27853         * lib/lchown.c (S_ISLNK): Likewise.
27854
27855 2002-06-15  Jim Meyering  <meyering@lucent.com>
27856
27857         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
27858         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
27859         have been included before this file.
27860
27861 2002-06-14  Jim Meyering  <meyering@lucent.com>
27862
27863         * lib/file-type.h: Use the version from diffutils-2.8.2.
27864         * lib/file-type.c: Likewise.
27865
27866 2002-06-07  Jim Meyering  <meyering@lucent.com>
27867
27868         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
27869         They're needed at least for NetBSD 1.5.2.
27870         ($statxfs_includes): Include those same headers.
27871         ($statxfs_includes): Include sys/vfs.h if available.
27872         ($statxfs_includes): Likewise for sys/statvfs.h.
27873         Check for the following members in both structs statfs and statvfs:
27874         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
27875
27876 2002-06-01  Jim Meyering  <meyering@lucent.com>
27877
27878         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
27879         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
27880
27881 2002-05-28  Jim Meyering  <meyering@lucent.com>
27882
27883         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
27884         Reported by Volker Borchert.
27885
27886 2002-05-27  Jim Meyering  <meyering@lucent.com>
27887
27888         Fix a problem seen only on nonconforming systems whereby ls.c's
27889         use of localtime, and then of gettimeofday would cause trouble:
27890         the localtime call used to initialize rpl_gettimeofday's save
27891         mechanism would clobber ls's current local time information so
27892         that in any long listing the first file would always be listed
27893         with date 1970-01-01.  Analysis by Volker Borchert.
27894
27895         * lib/gettimeofday.c (localtime): Undefine.
27896         (rpl_localtime): New function.
27897
27898 2002-05-27  Jim Meyering  <meyering@lucent.com>
27899
27900         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
27901         localtime.
27902
27903         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
27904         use the replacement function; it wouldn't resolve at link time.
27905         Reported by Volker Borchert.
27906
27907 2002-05-22  Jim Meyering  <meyering@lucent.com>
27908
27909         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
27910         file-type.h.
27911         * lib/file-type.h: New file.
27912         * lib/file-type.c (file_type): New file/function.  Extracted from
27913         diffutils.
27914
27915 2002-04-30  Jim Meyering  <meyering@lucent.com>
27916
27917         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
27918
27919 2002-04-29  Paul Eggert  <eggert@twinsun.com>
27920
27921         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
27922
27923 2002-04-29  Paul Eggert  <eggert@twinsun.com>
27924
27925         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
27926         Do not check for alloca.h (no longer used) or stdbool.h (was never
27927         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
27928
27929 2002-04-29  Paul Eggert  <eggert@twinsun.com>
27930
27931         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
27932
27933 2002-04-29  Jim Meyering  <meyering@lucent.com>
27934
27935         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
27936         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
27937         Use AC_FUNC_STRNLEN here instead.
27938
27939         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
27940         With autoconf-2.53a, it's part of AC_PROG_CC.
27941
27942 2002-04-28  Paul Eggert  <eggert@twinsun.com>
27943
27944         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
27945         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
27946
27947 2002-04-28  Paul Eggert  <eggert@twinsun.com>
27948
27949         * lib/sig2str.h, lib/sig2str.c: New files.
27950         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
27951
27952 2002-04-28  Paul Eggert  <eggert@twinsun.com>
27953
27954         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
27955         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
27956         of 127, since 64 is the largest conceivable number for ancient
27957         nonstandard hosts.
27958         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
27959
27960 2002-04-28  Jim Meyering  <meyering@lucent.com>
27961
27962         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
27963
27964 2002-04-24  Jim Meyering  <meyering@lucent.com>
27965
27966         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
27967         (jm_PREREQ): Use it.
27968
27969         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
27970         mach/mach.h fcntl.h.
27971         Check for this function: setlocale.
27972
27973 2002-04-24  Jim Meyering  <meyering@lucent.com>
27974
27975         * lib/gettext.h: New file, from Gettext.
27976         * lib/Makefile.am (INCLUDES): Remove -I../intl.
27977         (libfetish_a_SOURCES): Add gettext.h.
27978
27979 2002-04-16  Jim Meyering  <meyering@lucent.com>
27980
27981         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
27982         ut_pid, ut_id, ut_exit.
27983
27984 2002-04-16  Jim Meyering  <meyering@lucent.com>
27985
27986         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
27987         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
27988         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
27989
27990 2002-04-12  Jim Meyering  <meyering@lucent.com>
27991
27992         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
27993         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
27994         existence of the getmntinfo function.  Needed for Darwin 5.3.
27995
27996         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
27997         This is necessary at least on Darwin 5.3.
27998
27999         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
28000         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
28001         strnlen.o in the library, and that makes some versions of ranlib
28002         object.
28003
28004 2002-04-12  Jim Meyering  <meyering@lucent.com>
28005
28006         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
28007
28008 2002-04-09  Jim Meyering  <meyering@lucent.com>
28009
28010         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
28011         to be more precise.  Rather than saying we're checking whether the
28012         function `works', say what we're testing.
28013         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
28014         Reported by Bruno Haible.
28015
28016 2002-03-10  Jim Meyering  <meyering@lucent.com>
28017
28018         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
28019         Suggestion from Santiago Vila.
28020
28021 2002-03-08  Jim Meyering  <meyering@lucent.com>
28022
28023         * lib/rename.c: Mention that this wrapper is needed also on
28024         mips-dec-ultrix4.4 systems.
28025
28026 2002-03-02  Jim Meyering  <meyering@lucent.com>
28027
28028         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
28029         not HAVE_CLOCK_SETTIME.
28030
28031 2002-02-27  Paul Eggert  <eggert@twinsun.com>
28032
28033         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
28034         Check for clock_settime.
28035
28036 2002-02-27  Paul Eggert  <eggert@twinsun.com>
28037
28038         * lib/nanosleep.h: Rename to....
28039         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
28040
28041         * lib/gettime.c: New file.
28042         * lib/settime.c: New file.
28043         * lib/stime.c: Remove.
28044
28045         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
28046         timespec.h.  Remove nanosleep.h.
28047
28048 2002-02-25  Paul Eggert  <eggert@twinsun.com>
28049
28050         * m4/acl.m4: New file.
28051         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
28052         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
28053
28054 2002-02-25  Paul Eggert  <eggert@twinsun.com>
28055
28056         * lib/acl.c, lib/acl.h: New files.
28057         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
28058
28059 2002-02-24  Jim Meyering  <meyering@lucent.com>
28060
28061         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
28062         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
28063         cause trouble.  Reported by Nelson Beebe.
28064
28065 2002-02-23  Paul Eggert  <eggert@twinsun.com>
28066
28067         * lib/path-concat.c (xpath_concat): Reorder code to pacify
28068         compilers that don't know that xalloc_die never returns.
28069
28070 2002-02-20  Jim Meyering  <meyering@lucent.com>
28071
28072         * lib/getdate.c: Regenerate using bison-1.33.
28073
28074 2002-02-17  Jim Meyering  <meyering@lucent.com>
28075
28076         * config/config.guess (main): Don't use `head -1'; it's no longer
28077         portable. Use `sed 1q' instead.
28078
28079 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
28080
28081         * m4/codeset.m4: Upgrade to gettext-0.11.
28082         * m4/gettext.m4: Upgrade to gettext-0.11.
28083         * m4/glibc21.m4: Upgrade to gettext-0.11.
28084         * m4/iconv.m4: Upgrade to gettext-0.11.
28085         * m4/isc-posix.m4: Upgrade to gettext-0.11.
28086         * m4/lcmessage.m4: Upgrade to gettext-0.11.
28087         * m4/lib-ld.m4: New file, from gettext-0.11.
28088         * m4/lib-link.m4: New file, from gettext-0.11.
28089         * m4/lib-prefix.m4: New file, from gettext-0.11.
28090         * m4/progtest.m4: Upgrade to gettext-0.11.
28091
28092 2002-02-15  Paul Eggert  <eggert@twinsun.com>
28093
28094         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
28095         (jm_PREREQ): Use it.
28096
28097 2002-02-15  Paul Eggert  <eggert@twinsun.com>
28098
28099         * lib/posixver.c, lib/posixver.h: New files.
28100         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
28101
28102 2002-02-02  Paul Eggert  <eggert@twinsun.com>
28103             Bruno Haible  <bruno@clisp.org>
28104
28105         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
28106         (fwrite_success_callback): New declaration.
28107         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
28108         print_unicode_char. Call failure callback instead of error.
28109         (fwrite_success_callback): New function.
28110         (exit_failure_callback): New function.
28111         (fallback_failure_callback): New function.
28112         (print_unicode_char): Call unicode_to_mb.
28113
28114 2002-01-26  Jim Meyering  <meyering@lucent.com>
28115
28116         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
28117         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
28118
28119 2002-01-26  Jim Meyering  <meyering@lucent.com>
28120
28121         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
28122
28123 2002-01-22  Paul Eggert  <eggert@twinsun.com>
28124
28125         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
28126
28127 2002-01-22  Jim Meyering  <meyering@lucent.com>
28128
28129         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
28130         Otherwise, some versions of automake would omit the rule that makes
28131         Makefile from Makefile.in.
28132
28133 2002-01-21  Paul Eggert  <eggert@twinsun.com>
28134
28135         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
28136         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
28137         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
28138         (memcoll): Set errno to zero if there is no error.
28139
28140         * lib/quotearg.c (quotearg_buffer_restyled):
28141         Fix bug with quoting buffers containing NUL when backslashing escapes.
28142         This bug was exposed by the other changes in this patch.
28143         (quotearg_n_options): New arg ARGSIZE.
28144         All callers changed.
28145         (quoting_options_from_style): New function.
28146         (quotearg_n_style): Use it.
28147         (quotearg_n_style_mem): New function.
28148
28149         * lib/quotearg.h (quotearg_n_style_mem): New function.
28150
28151 2002-01-19  Jim Meyering  <meyering@lucent.com>
28152
28153         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
28154         Remove useless quotes: DF_PROG="df".
28155         * m4/strnlen.m4: New file.
28156
28157 2002-01-16  Paul Eggert  <eggert@twinsun.com>
28158
28159         * lib/backupfile.c (ISDIGIT): Comment fix.
28160         * lib/getdate.y (ISDIGIT): Likewise.
28161         * lib/posixtm.c (ISDIGIT, year): Likewise.
28162         * lib/strverscmp.c (ISDIGIT): Likewise.
28163         * lib/userspec.c (ISDIGIT): Likewise.
28164
28165 2002-01-16  Jim Meyering  <meyering@lucent.com>
28166
28167         * lib/getdate.y: Add three semicolons, each just before a closing
28168         brace. Bison (as of version 1.31) no longer papers over that mistake.
28169
28170 2002-01-05  Jim Meyering  <meyering@lucent.com>
28171
28172         * lib/version-etc.c (version_etc_copyright): Update copyright year.
28173
28174 2001-12-19  Paul Eggert  <eggert@twinsun.com>
28175
28176         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
28177         not silently exit merely because the output buffer happens to
28178         have nothing pending.
28179
28180 2001-12-18  Paul Eggert  <eggert@twinsun.com>
28181
28182         See the big note in ../ChangeLog.
28183         * lib/human.c (suffixes): Prefer K to k for 1024.
28184         (generate_suffix_backwards): New function.
28185         (human_readable_inexact): Use it.
28186         * lib/xstrtol.c (__xstrtol): If there is no number but there
28187         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
28188         Accept 'K' as well as 'k'.
28189
28190 2001-12-15  Jim Meyering  <meyering@lucent.com>
28191
28192         * lib/regex.h (__restrict_arr): Update from libc.
28193
28194         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
28195         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
28196         (STREQ): Define.
28197
28198 2001-12-14  Jim Meyering  <meyering@lucent.com>
28199
28200         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
28201         Suggestion from Bruno Haible.
28202
28203 2001-12-10  Jim Meyering  <meyering@lucent.com>
28204
28205         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
28206         xrealloc, Instead, include "xalloc.h".
28207         (initbuffer): Don't cast xmalloc return value to char*.
28208         (readline): Reword comment.
28209         Don't cast xrealloc return value to char*
28210         Return NULL, not 0.
28211
28212 2001-12-09  Jim Meyering  <meyering@lucent.com>
28213
28214         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
28215         about `signed and unsigned type in conditional expression'.
28216         * lib/posixtm.c (posix_time_parse): Likewise.
28217
28218         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
28219
28220         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
28221         to avoid a pedantic warning.
28222
28223         * lib/getstr.c: Don't include assert.h.
28224         (getstr): Remove warning-evoking assertions.
28225         Return -1 if offset parameter is out of bounds.
28226         Change the type of a local from int to size_t.
28227
28228         * lib/strftime.c (my_strftime_localtime_r): Include this function
28229         definition in the `#if ! HAVE_TM_GMTOFF' block.
28230
28231         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
28232         Include xalloc.h instead.
28233
28234 2001-12-02  Jim Meyering  <meyering@lucent.com>
28235
28236         * lib/tempname.c: Don't declare getenv, thus reverting the change of
28237         2001-11-18.  It's no longer necessary, now that stdlib.h is always
28238         included.
28239
28240         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
28241         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
28242
28243 2001-11-30  Akim Demaille  <akim@epita.fr>
28244
28245         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
28246         before being defined.
28247
28248 2001-11-27  Paul Eggert  <eggert@twinsun.com>
28249
28250         * lib/quotearg.h (quotearg_n, quotearg_n_style):
28251         First arg is int, not unsigned.
28252         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
28253         (SIZE_MAX, UINT_MAX): New macros.
28254         (quotearg_n_options): Abort if N is negative.
28255         Avoid overflow check on hosts where size_t is 64 bits and int
28256         is 32 bits, as overflow is impossible there.
28257         Fix off-by-one typo that caused unnecessary reallocation.
28258
28259 2001-11-27  Jim Meyering  <meyering@lucent.com>
28260
28261         * lib/tempname.c: Merge with version from libc.
28262         * lib/regex.c: Likewise.
28263
28264         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
28265         systems for which STDC_HEADERS is 0, it was not included, resulting in
28266         a warning about an integer-to-pointer conversion problem with getenv.
28267         Reported by Volker Borchert.
28268
28269 2001-11-26  Jim Meyering  <meyering@lucent.com>
28270
28271         * lib/gtod.h: Remove file.
28272         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
28273         * lib/gettimeofday.c: Don't include gtod.h.
28274         (GTOD_init): Remove function.
28275         (rpl_gettimeofday): Do its job here instead, rather than aborting.
28276         Suggestion from Volker Borchert.
28277
28278 2001-11-23  Jim Meyering  <meyering@lucent.com>
28279
28280         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
28281         it.
28282         * lib/hash.c (struct hash_table): Define it here instead.
28283
28284 2001-11-22  Jim Meyering  <meyering@lucent.com>
28285
28286         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
28287
28288 2001-11-20  Jim Meyering  <meyering@lucent.com>
28289
28290         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
28291         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
28292
28293 2001-11-19  Jim Meyering  <meyering@lucent.com>
28294
28295         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
28296         directory.  Use "conftestXXXXXX" as the template.
28297         Suggestion from Paul Eggert.
28298
28299         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
28300         immediately, so the test doesn't mistakenly hit the max-open-files
28301         limit.
28302
28303 2001-11-18  Paul Eggert  <eggert@twinsun.com>
28304
28305         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
28306         (TEMPORARIES): New macro.
28307         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
28308         removes an artificial limitation (e.g. HP-UX 10.20, where
28309         TMP_MAX is 17576).
28310
28311 2001-11-18  Jim Meyering  <meyering@lucent.com>
28312
28313         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
28314
28315 2001-11-18  Jim Meyering  <meyering@lucent.com>
28316
28317         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
28318         on SunOS 4.
28319
28320         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
28321         files will be created before anything else.
28322
28323 2001-11-17  Paul Eggert  <eggert@twinsun.com>
28324
28325         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
28326         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
28327
28328 2001-11-17  Jim Meyering  <meyering@lucent.com>
28329
28330         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
28331         Prompted by a report from Bob Proulx.
28332
28333         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
28334         Instead, require UTILS_FUNC_MKSTEMP.
28335
28336 2001-11-17  Jim Meyering  <meyering@lucent.com>
28337
28338         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
28339         Now, that's done as part of AC_FUNC_STRTOD.
28340
28341 2001-11-17  Jim Meyering  <meyering@lucent.com>
28342
28343         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
28344         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
28345         rather than group writable.  Patch by Juan F. Codagnone.
28346
28347         * lib/readtokens.c: Remove explicit declarations of xmalloc and
28348         xrealloc, Instead, include "xalloc.h".
28349
28350         * lib/mountlist.c: Include unlocked-io.h after all system headers.
28351         Remove explicit declarations of xmalloc, xrealloc,
28352         and xstrdup.  Instead, include "xalloc.h".
28353
28354         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
28355         unlocked-io.h.
28356         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
28357         Likewise.
28358         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
28359
28360         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
28361         Reported by Padraig Brady.
28362
28363         * lib/mkstemp.c: #undef mkstemp.
28364         Include config.h.
28365         (rpl_mkstemp): Rename from mkstemp.
28366         Protoize.
28367
28368 2001-11-16  Jim Meyering  <meyering@lucent.com>
28369
28370         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
28371         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
28372         determine the amount of total physical memory, use pstat_getstatic.
28373         HPUX-11 doesn't define _SC_PHYS_PAGES.
28374         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
28375         If sysconf couldn't be used to determine the amount of available
28376         physical memory, use both pstat_getstatic and pstat_getdynamic.
28377         Based on a patch from Bob Proulx.
28378
28379 2001-11-10  Jim Meyering  <meyering@lucent.com>
28380
28381         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
28382         (jm_PREREQ): Use it.
28383
28384 2001-11-09  Jim Meyering  <meyering@lucent.com>
28385
28386         * m4/jm-macros.m4: Require autoconf-2.52f.
28387         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
28388         Use these AC_-prefixed names, not the AM_-prefixed ones.
28389
28390         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
28391
28392 2001-11-05  Jim Meyering  <meyering@lucent.com>
28393
28394         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
28395
28396 2001-11-04  Jim Meyering  <meyering@lucent.com>
28397
28398         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
28399         $DEFS.
28400
28401 2001-11-03  Jim Meyering  <meyering@lucent.com>
28402
28403         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
28404         of AC_DEFUN.
28405
28406         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
28407         know the name of the variable in the macro definition.
28408
28409 2001-11-03  Jim Meyering  <meyering@lucent.com>
28410
28411         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
28412         in argmatch_to_argument call.
28413
28414         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
28415         argument.
28416
28417         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
28418         e.g., a fault due to an attempt to free a NULL pointer.
28419
28420 2001-11-01  Jim Meyering  <meyering@lucent.com>
28421
28422         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
28423         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
28424
28425 2001-11-01  Jim Meyering  <meyering@lucent.com>
28426
28427         * lib/dirfd.c, lib/dirfd.h: New files.
28428         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
28429
28430         * lib/hash.c (hash_print) [TESTING]: Clean up.
28431
28432 2001-10-22  Paul Eggert  <eggert@twinsun.com>
28433
28434         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
28435         to avoid a warning if -Wall.
28436
28437 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
28438
28439         * README: New file
28440         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
28441         (per RMS's instructions, this is now the canonical source)
28442         * lgpl/, gpl/: New directories.
28443
28444 2001-10-21  Paul Eggert  <eggert@twinsun.com>
28445
28446         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
28447
28448 2001-10-21  Jim Meyering  <meyering@lucent.com>
28449
28450         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
28451         this code would end up calling gettext even in packages built
28452         with --disable-nls.
28453         * lib/getopt.c (_): Likewise.
28454         * lib/regex.c (_): Likewise.
28455
28456 2001-10-20  Paul Eggert  <eggert@twinsun.com>
28457
28458         * m4/error.m4 (jm_PREREQ_ERROR):
28459         Do not invoke AC_CHECK_FUNCS with strerror_r, as
28460         AC_FUNC_STRERROR_R does that.
28461         Check for strerror declaration.
28462
28463         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
28464         are supposed to have them these days.
28465         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
28466         Merge changes from latest Autoconf CVS.
28467         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
28468         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
28469         POSIX decided to standardize on the int flavor of strerror_r.
28470
28471 2001-10-20  Paul Eggert  <eggert@twinsun.com>
28472
28473         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
28474         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
28475         Use strerror_r that is only a macro, even if it is not a function.
28476         (strerror): Check for HAVE_DECL_STRERROR before declaring.
28477         (private_strerror): Use prototypes, not old-style function definition.
28478         (print_errno_message): New function.
28479         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
28480         char*-flavored one.
28481         (error_tail, error, error_at_line): Use it.
28482
28483 2001-10-11  Jim Meyering  <meyering@lucent.com>
28484
28485         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
28486         and quote_n (1, ... to avoid clobbering a buffer.
28487
28488 2001-10-05  Jim Meyering  <meyering@lucent.com>
28489
28490         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
28491         hash-pjw.h.
28492         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
28493         * lib/hash-pjw.h: New file.
28494
28495 2001-09-30  Jim Meyering  <meyering@lucent.com>
28496
28497         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
28498         `struct fsstat' has the `f_fstypename' member.
28499         Use that to define FS_TYPE, which is now used to make
28500         the getfsstat link test tighter.
28501
28502 2001-09-30  Jim Meyering  <meyering@lucent.com>
28503
28504         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
28505         Include <sys/ucred.h>, for Apple Darwin.
28506         Include sys/mount.h and sys/fs_types.h only if available.
28507         (FS_TYPE): Define.
28508         (read_filesystem_list): Use FS_TYPE.
28509
28510 2001-09-29  Paul Eggert  <eggert@twinsun.com>
28511
28512         * lib/exclude.c (excluded_filename): 0 -> false, since it's
28513         a boolean context.
28514
28515 2001-09-29  Jim Meyering  <meyering@lucent.com>
28516
28517         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
28518         [one-argument getmntent function]): Include stdio.h before mntent.h.
28519         SunOS 4.1.x needs it for the declaration of `FILE'.
28520         Patch by Volker Borchert.
28521
28522         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
28523         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
28524         sys/fs_types.h, and make the link-test for getfsstat guard #include
28525         directives with appropriate #if HAVE_*_H tests so that we can
28526         detect getfsstat on Apple Darwin1.3.7 systems.
28527         Reported by Nelson Beebe.
28528         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
28529
28530 2001-09-28  Paul Eggert  <eggert@twinsun.com>
28531
28532         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
28533         #defines strtoimax.  Also treat the other strto* functions
28534         like strtoimax.
28535
28536         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
28537         Check for strtoul and strtoumax,
28538         as those declarations are made even in the signed case.
28539         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
28540         Likewise, for strtol and strtoimax.
28541
28542 2001-09-28  Paul Eggert  <eggert@twinsun.com>
28543
28544         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
28545         #defines strtoimax.  Also treat the other strto* functions
28546         like strtoimax.
28547
28548         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
28549         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
28550         (strtoimax, strtoumax): Do not declare if already defined as a macro.
28551
28552 2001-09-26  Jim Meyering  <meyering@lucent.com>
28553
28554         Most macros in unlocked-io.h had the wrong number of arguments.
28555         * lib/gen-uio: New script.
28556         (USE_UNLOCKED_IO): Define to 1 if not already defined.
28557         * lib/unlocked-io.hin: Remove file.
28558         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
28559         rather than trying to embed it here.
28560         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
28561         Reported by Padraig Brady.
28562
28563 2001-09-25  Volker Borchert  <bt@teknon.de>
28564
28565         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
28566         `result'.
28567
28568 2001-09-24  Jim Meyering  <meyering@lucent.com>
28569
28570         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
28571
28572 2001-09-23  Jim Meyering  <meyering@lucent.com>
28573
28574         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
28575         instead of the mere test for existence of mntent.h.  The latter
28576         would get a false-positive on AIX 3.4 systems.
28577         In the outer getmntent if-block, don't die if neither of the getmntent
28578         tests succeeds.  Instead, just fall through and continue with the
28579         remaining tests.
28580
28581 2001-09-23  Jim Meyering  <meyering@lucent.com>
28582
28583         * lib/mountlist.c: Remove useless parentheses in #if directives.
28584         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
28585         the deprecated MOUNTED symbol is no longer defined in mntent.h.
28586
28587 2001-09-22  Jim Meyering  <meyering@lucent.com>
28588
28589         * m4/gettext.m4: New file.  From gettext.
28590         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
28591         * m4/progtest.m4: Likewise
28592         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
28593         * m4/glibc21.m4: Likewise.
28594
28595         * m4/libintl.m4: Remove.  No longer used.
28596
28597 2001-09-22  Jim Meyering  <meyering@lucent.com>
28598
28599         * lib/localcharset.c: Update from latest gettext.
28600         * lib/config.charset: Likewise.
28601
28602 2001-09-20  Jim Meyering  <meyering@lucent.com>
28603
28604         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
28605         strtoimax.
28606         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
28607         strtoumax.
28608
28609 2001-09-20  Jim Meyering  <meyering@lucent.com>
28610
28611         * lib/xstrtol.c (strtoimax): Guard declaration with
28612         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
28613         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
28614         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
28615         (strtoumax): Likewise, for completeness (it wasn't necessary).
28616
28617 2001-09-17  Paul Eggert  <eggert@twinsun.com>
28618
28619         * lib/strtoimax.c (HAVE_LONG_LONG):
28620         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
28621         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
28622         to work around bug in IBM C compiler.
28623
28624 2001-09-17  Jim Meyering  <meyering@lucent.com>
28625
28626         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
28627         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
28628         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
28629         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
28630         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
28631         whenever the right hand side need not be expanded by the shell.
28632
28633 2001-09-16  Paul Eggert  <eggert@twinsun.com>
28634
28635         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
28636         library.  It's not correct, as some older glibcs are buggy.
28637         fnmatch wasn't fixed until glibc 2.2.
28638
28639         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
28640         special shell magic here.
28641
28642 2001-09-16  Jim Meyering  <meyering@lucent.com>
28643
28644         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
28645         * m4/jm-macros.m4: Require it.
28646
28647 2001-09-16  Jim Meyering  <meyering@lucent.com>
28648
28649         * lib/mkdir.c: New file.
28650
28651 2001-09-15  Jim Meyering  <meyering@lucent.com>
28652
28653         * m4/jm-macros.m4: Check for help2man.
28654
28655 2001-09-11  Jim Meyering  <meyering@lucent.com>
28656
28657         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
28658         The body, by Paul Eggert, was moved here from configure.in.
28659         * m4/jm-macros.m4: Require UTILS_HOST_OS.
28660
28661 2001-09-04  Paul Eggert  <eggert@twinsun.com>
28662
28663         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
28664         (jm_PREREQ): Use it.
28665
28666 2001-09-04  Paul Eggert  <eggert@twinsun.com>
28667
28668         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
28669         Use ssize_t, not int, to store result of readlink.
28670         Check for ssize_t overflow as well as size_t overflow,
28671         as POSIX says the result of readlink is implementation-defined
28672         when ssize_t overflows.
28673         Remove unnecessary cast to char*.
28674         Use free+malloc instead of realloc, as the storage doesn't need
28675         to be preserved and it's clearer and can be more efficient that way.
28676         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
28677         * lib/xreadlink.h (xreadlink): Update prototype.
28678
28679 2001-09-04  Paul Eggert  <eggert@twinsun.com>
28680
28681         * lib/xgetcwd.c: Revert some of the previous change; intead,
28682         fix the HAVE_GETCWD_NULL code to behave more like the
28683         !HAVE_GETCWD_NULL code used to.
28684
28685         Include "xalloc.h".
28686         (xgetcwd): Do not return NULL when memory is exhausted; instead,
28687         invoke xalloc_die.
28688
28689 2001-09-03  Paul Eggert  <eggert@twinsun.com>
28690
28691         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
28692         sys/param.h, as pathmax.h includes them.
28693
28694 2001-09-03  Paul Eggert  <eggert@twinsun.com>
28695
28696         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
28697         (jm_PREREQ_XGETCWD): New macro.
28698
28699         * m4/getcwd.m4: New file.
28700
28701 2001-09-03  Paul Eggert  <eggert@twinsun.com>
28702
28703         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
28704         like the HAVE_GETCWD_NULL code.
28705         Include pathmax.h if not HAVE_GETCWD.
28706         Do not include xalloc.h.
28707         (INITIAL_BUFFER_SIZE): New symbol.
28708         Do not use xmalloc / xrealloc, since the caller is responsible for
28709         handling errors.  Preserve errno around `free' during failure.
28710         Do not overrun buffer when using getwd.
28711
28712 2001-09-03  Paul Eggert  <eggert@twinsun.com>
28713
28714         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
28715         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
28716         getcwd (NULL, 0).
28717
28718 2001-09-03  Paul Eggert  <eggert@twinsun.com>
28719
28720         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
28721         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
28722         spotted by Jim Meyering.
28723
28724 2001-09-03  Jim Meyering  <meyering@lucent.com>
28725
28726         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
28727         failure.
28728
28729 2001-09-02  Jim Meyering  <meyering@lucent.com>
28730
28731         * lib/error.c: Update from GNU libc.
28732
28733 2001-09-01  Jim Meyering  <meyering@lucent.com>
28734
28735         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
28736         Used by df.
28737
28738 2001-09-01  Jim Meyering  <meyering@lucent.com>
28739
28740         * lib/xreadlink.c: New file.
28741         * lib/xreadlink.h: New file.
28742         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
28743         xreadlink.h.
28744
28745         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
28746         doesn't conflict with sparc Solaris 7's definition in
28747         /usr/include/sys/int_types.h.
28748
28749         * lib/exclude.c: Use `""', not `<>' to #include non-system header
28750         files.
28751         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
28752         and strncasecmp as r-values.  Unixware didn't have declarations.
28753
28754 2001-08-31  Paul Eggert  <eggert@twinsun.com>
28755
28756         * lib/xstrtol.h: Add copyright notice.
28757         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
28758         LONGINT_INVALID_SUFFIX_CHAR.
28759
28760 2001-08-31  Paul Eggert  <eggert@twinsun.com>
28761
28762         * lib/xstrtol.c (strtoimax): New decl.
28763
28764 2001-08-31  Paul Eggert  <eggert@twinsun.com>
28765
28766         * lib/xgetcwd.c: Don't include pathmax.h.
28767         Include stdlib.h and unistd.h if available.
28768         Include xalloc.h.
28769         (xmalloc, xstrdup, free): Remove decls.
28770         (xgetcwd): Don't assume sizes fit in unsigned.
28771         Check for overflow when computing sizes.
28772         Simplify reallocation code.
28773
28774 2001-08-31  Paul Eggert  <eggert@twinsun.com>
28775
28776         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
28777         a directory's st_size can have an arbitrary value, so the old
28778         usage could waste an arbitrary amount of memory.  All uses
28779         changed.
28780         * lib/savedir.h: Update prototype.
28781
28782 2001-08-31  Paul Eggert  <eggert@twinsun.com>
28783
28784         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
28785
28786         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
28787         old strtoimax.c.
28788
28789         Also, make the following further changes to make this file's
28790         configuration more similar to that of strtol.c:
28791         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
28792         (strtoumax, uintmax_t, strtoull, strtol): Remove.
28793         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
28794         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
28795         changed to signed values.
28796
28797         And make the following changes as well:
28798         Fix copyright notice, as 1999 was missing.
28799         (verify): New macro.
28800         (strtoimax): Check sizes at compile-time, not run-time.
28801         Prefer strtol to strtoll if both work.
28802         (main): Remove; it was not that useful and was a pain to maintain.
28803
28804         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
28805
28806 2001-08-31  Jim Meyering  <meyering@lucent.com>
28807
28808         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
28809         Use an initial, malloc'd, buffer of length 128 rather than
28810         a statically allocated one of length 1024.
28811
28812 2001-08-30  Paul Eggert  <eggert@twinsun.com>
28813
28814         Simplify code, partly by assuming autoconf 2.52 semantics.
28815
28816         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
28817
28818         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
28819         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
28820         All uses removed.
28821         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
28822         Move AC_REQUIRE to next-to-top level, to avoid confusion.
28823         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
28824         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
28825         jm_AC_HEADER_INTTYPES_H.
28826         * m4/jm-macros.m4 (jm_MACROS): Likewise.
28827
28828         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
28829
28830         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
28831         Quote first arg of AC_DEFUN.
28832         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
28833         since they are needed to parse the include file even if we need
28834         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
28835         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
28836         but with opposite signedness.
28837
28838 2001-08-30  Paul Eggert  <eggert@twinsun.com>
28839
28840         Merge 'exclude' changes from tar 1.13.22.
28841         This fixes one or two unlikely storage allocation overflow bugs,
28842         but doesn't change user-visible behavior otherwise.
28843
28844 2001-08-30  Paul Eggert  <eggert@twinsun.com>
28845
28846         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
28847         (jm_PREREQ_EXCLUDE): New macro.
28848
28849 2001-08-30  Paul Eggert  <eggert@twinsun.com>
28850
28851         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
28852         tm to be declared.
28853
28854 2001-08-30  Paul Eggert  <eggert@twinsun.com>
28855
28856         * lib/hash.c: Remove '2001' from copyright notice.
28857
28858 2001-08-30  Paul Eggert  <eggert@twinsun.com>
28859
28860         * lib/full-write.h: New file.
28861         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
28862         * lib/full-write.c: Correct credits, as cccp.c no longer
28863         exists and anyway it was so heavily changed from the old cccp
28864         code as to be unrecognizable.  Include full-write.h.
28865         (full_write) Return size_t, with short writes meaning failure.
28866         All callers changed.  This fixes a bug with large buffers
28867         on 64-bit hosts.
28868         * lib/utime.c: Include full-write.h.
28869
28870 2001-08-30  Paul Eggert  <eggert@twinsun.com>
28871
28872         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
28873         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
28874         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
28875         Include if available.
28876         (<xalloc.h>): Include
28877         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
28878         (verify): New macro.  Use it to verify that EXCLUDE macros do not
28879         collide with FNM macros.
28880         (struct patopts): New struct.
28881         (struct exclude): Use it, as exclude patterns now come with options.
28882         (new_exclude): Support above changes.
28883         (new_exclude, add_exclude_file):
28884         Initial size must now be a power of two to simplify overflow checking.
28885         (free_exclude, fnmatch_no_wildcards): New function.
28886         (excluded_filename): No longer requires options arg, as the options
28887         are determined by add_exclude.  Now returns bool, not int.
28888         (excluded_filename, add_exclude):
28889         Add support for the fancy new exclusion options.
28890         (add_exclude, add_exclude_file): Now takes int options arg.
28891         Check for arithmetic overflow when computing sizes.
28892         (add_exclude_file): xrealloc might modify errno, so don't
28893         realloc until after errno might be used.
28894
28895         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
28896         New macros.
28897         (free_exclude): New decl.
28898         (add_exclude, add_exclude_file): Now takes int options arg.
28899         (excluded_filename): No longer requires options arg, as the options
28900         are determined by add_exclude.  Now returns bool, not int.
28901
28902 2001-08-30  Paul Eggert  <eggert@twinsun.com>
28903
28904         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
28905
28906 2001-08-27  Jim Meyering  <meyering@lucent.com>
28907
28908         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
28909
28910         * lib/version-etc.c (N_): Remove definition.
28911         Revert most of last change.
28912         Instead, simply don't mark the `Copyright...' string for translation.
28913         Based on advice from Paul Eggert.
28914
28915         * lib/strtoxmax.c: Tweak comment.
28916
28917 2001-08-26  Jim Meyering  <meyering@lucent.com>
28918
28919         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
28920
28921         * m4/xstrtoimax.m4: New file.
28922         * m4/xstrtoumax.m4: Add comments explaining why we
28923         AC_REPLACE_FUNCS(strtol).
28924
28925 2001-08-26  Jim Meyering  <meyering@lucent.com>
28926
28927         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
28928         of copyright with `%s' so translators don't get an untranslated
28929         message in 2002.
28930         (COPYRIGHT_YEAR): Define.
28931         (version_etc): Use fprintf rather than fputs.
28932         Suggestion from Ulrich Drepper.
28933
28934         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
28935
28936         * lib/strtoll.c: New file, from GNU libc.
28937         * lib/xstrtoimax.c: New file.
28938
28939         * lib/xstrtol.h: Add xstrtoimax.
28940         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
28941         * lib/strtoimax.c: New file.  Likewise, but first define
28942         STRTOUXMAX_SIGNED.
28943
28944         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
28945         ...
28946         * lib/strtoxmax.c: ... then renamed to this.
28947
28948 2001-08-18  Paul Eggert  <eggert@twinsun.com>
28949
28950         * m4/inttypes.m4: Add AC_PREREQ(2.13).
28951         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
28952         (jm_AC_TYPE_INTMAX_T): New macro.
28953         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
28954
28955         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
28956
28957         * m4/longlong.m4: Renamed from ulonglong.m4.
28958         * m4/inttypes.m4: Renamed from inttypes_h.m4.
28959         * m4/uintmax_t.m4: Removed.
28960
28961 2001-08-13  Paul Eggert  <eggert@twinsun.com>
28962
28963         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
28964         Port to Solaris 8, where 'sed' requires a space after the 'r'
28965         command, and where sh dislikes "$/".  Clean up the spacing a bit.
28966         Redirect output to $tmp just once.
28967
28968 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
28969
28970         * lib/addext.c (<errno.h>): Include.
28971         (errno): Declare if not defined.
28972         (addext): Work correctly when pathconf returns -1 and leaves
28973         errno alone because there is no limit.  Also, work even if
28974         pathconf returns a value greater than SIZE_MAX.
28975
28976 2001-08-12  Jim Meyering  <meyering@lucent.com>
28977
28978         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
28979         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
28980         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
28981         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
28982         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
28983         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
28984         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
28985         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
28986         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
28987         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
28988         utime.m4, utimes.m4, xstrtoumax.m4:
28989         Quote the first argument in each use of AC_DEFUN.
28990
28991 2001-08-12  Jim Meyering  <meyering@lucent.com>
28992
28993         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
28994         Simply `return getcwd (NULL, 0);'.
28995         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
28996         Use 1300 as initial value for length, not PATH_MAX.
28997
28998         * lib/pathmax.h: Clean up cpp syntax.
28999
29000 2001-08-12  Jim Meyering  <meyering@lucent.com>
29001
29002         * lib/gettimeofday.c: New file.
29003         * lib/gtod.h: New file.
29004         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
29005
29006 2001-08-05  Jim Meyering  <meyering@lucent.com>
29007
29008         * m4/jm-macros.m4: Require autoconf-2.52.
29009
29010 2001-08-04  Jim Meyering  <meyering@lucent.com>
29011
29012         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
29013         stmt, to get in sync with glibc.
29014
29015 2001-08-03  Paul Eggert  <eggert@twinsun.com>
29016
29017         The following changes are from gettext 0.10.39 as maintained by
29018         Bruno Haible.
29019
29020         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
29021         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
29022         with inverted sense.  All uses changed.
29023
29024         * lib/mbswidth.c: Don't include <limits.h>.
29025         Include <stdlib.h> and <string.h> unconditionally.
29026         (iswcntrl, mbsinit, ISCNTRL): New macros.
29027         (mbsnwidth): Use K&R style function declarations.
29028         Don't bother checking for MB_LEN_MAX == 1, since the compiler
29029         can optimize it when MB_CUR_MAX == 1.
29030         The width of control characters is zero, not 1.
29031
29032 2001-08-03  Paul Eggert  <eggert@twinsun.com>
29033
29034         The following changes are from gettext 0.10.39 as maintained by
29035         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
29036
29037         * m4/codeset.m4: Upgrade to serial AM1.
29038         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
29039         all uses changed.  Quote first arg of AC_DEFUN.
29040         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
29041
29042         * m4/iconv.m4: Upgrade to serial AM2.
29043         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
29044         Add --with-libconv-prefix.
29045         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
29046         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
29047         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
29048         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
29049         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
29050
29051         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
29052         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
29053         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
29054         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
29055         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
29056         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
29057         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
29058         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
29059         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
29060
29061         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
29062         string.h any more.
29063
29064         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
29065         not the default value.
29066
29067         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
29068         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
29069         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
29070         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
29071         Also check for iswcntrl, used for wcwidth fallback.
29072         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
29073         to Autoconf 2.13.
29074
29075 2001-08-03  Jim Meyering  <meyering@lucent.com>
29076
29077         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
29078         as it was in the original.  Reported by Paul Eggert.
29079
29080 2001-07-16  Jim Meyering  <meyering@lucent.com>
29081
29082         * m4/gettimeofday.m4: New file.
29083         Prompted by a report from Bernhard Baehr.
29084
29085 2001-07-15  Jim Meyering  <meyering@lucent.com>
29086
29087         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
29088         stuff. Now it's in ../Makefile.cfg.
29089
29090 2001-07-15  Jim Meyering  <meyering@lucent.com>
29091
29092         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
29093         (BUILT_SOURCES): Add unlocked-io.h.
29094         (io_functions): Define.
29095         (unlocked-io.h): New rule.
29096         (DISTCLEANFILES): Add unlocked-io.h.
29097         (all-local): Depend on unlocked-io.h, to ensure it is created.
29098
29099         * lib/unlocked-io.hin: New file
29100
29101         * lib/regex.c: Update from glibc.
29102
29103 2001-07-05  Jim Meyering  <meyering@lucent.com>
29104
29105         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
29106         recommendation.
29107         (libfetish_a_SOURCES): Put all .h files here instead.
29108         Remove a thus-exposed (better checks in automake) duplicate and
29109         two unnecessary .h files.
29110
29111 2001-07-04  Jim Meyering  <meyering@lucent.com>
29112
29113         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
29114         that generates jm-glibc-io.m4 so that it doesn't trigger any make
29115         distcheck failure.
29116
29117 2001-07-02  Jim Meyering  <meyering@lucent.com>
29118
29119         The following changes were prompted by suggestions from Bruno Haible.
29120
29121         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
29122         is now generated.
29123         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
29124         definition of EXTRA_DIST.
29125         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
29126         ensure that the generated file is created/updated whenever the list
29127         of $(unlocked_functions) is changed.
29128         (jm-glibc-io.m4): New rule.
29129         (unlocked-io.h): New rule -- currently unused.
29130
29131 2001-06-24  Jim Meyering  <meyering@lucent.com>
29132
29133         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
29134         unmatched right bracket, rather than kludging it with an extra,
29135         falsely-matching quote in a comment.  Patch by Akim Demaille.
29136
29137 2001-06-11  Jim Meyering  <meyering@lucent.com>
29138
29139         * lib/regex.c: Update from GNU libc.
29140
29141 2001-05-27  Jim Meyering  <meyering@lucent.com>
29142
29143         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
29144         Check for ut_type in struct utmp.
29145
29146 2001-05-27  Jim Meyering  <meyering@lucent.com>
29147
29148         * lib/readutmp.h (UT_TYPE): Define.
29149
29150 2001-05-24  Jim Meyering  <meyering@lucent.com>
29151
29152         * lib/argmatch.c: Include "quote.h".
29153         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
29154         quote function.  Reported by Göran Uddeborg.
29155
29156 2001-05-22  Jim Meyering  <meyering@lucent.com>
29157
29158         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
29159         now that we use the package-supplied version unconditionally.
29160         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
29161
29162 2001-05-21  Jim Meyering  <meyering@lucent.com>
29163
29164         * m4/regex.m4: Change a couple backticks to single quotes to avoid
29165         shell syntax errors.
29166
29167 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
29168
29169         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
29170
29171 2001-05-20  Paul Eggert  <eggert@twinsun.com>
29172
29173         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
29174         Don't bother to check library strftime, since
29175         we'll be using our own my_strftime function anyway.
29176         Define my_strftime instead of strftime.
29177
29178 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
29179
29180         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
29181         which is not yet declared.
29182
29183 2001-05-15  Jim Meyering  <meyering@lucent.com>
29184
29185         * m4/regex.m4: Use proper quoting so brackets appear in the test
29186         program.
29187         Reported by, and with help from, Bruno Haible.
29188
29189 2001-05-13  Jim Meyering  <meyering@lucent.com>
29190
29191         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
29192         undefined.
29193
29194 2001-05-11  Paul Eggert  <eggert@twinsun.com>
29195
29196         dirname code cleanup.  base_name now behaves more compatibly
29197         with POSIX basename when given file names that have trailing
29198         slashes, and similarly for dir_name.  Add new primitives
29199         base_len and dir_len.  Put the directory-name-related decls
29200         into dirname.h.
29201
29202         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
29203         * lib/backupfile.c (base_name): Likewise.
29204         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
29205         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
29206         * lib/makepath.c (strip_trailing_slashes): Likewise.
29207         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
29208         ISSLASH): Likewise.
29209         * lib/rename.c (strip_trailing_slashes): Likewise.
29210         * lib/same.c (base_name): Likewise.
29211         * lib/stripslash.c (ISSLASH): Likewise.
29212
29213         * lib/addext.c: Include <dirname.h> after size_t is defined.
29214         * lib/backupfile.c: Likewise.
29215
29216         * lib/addext.c (addext): Use base_len to trim redundant
29217         trailing slashes instead of doing it ourselves.
29218         But do not trim the last slash if it is not redundant.
29219
29220         * lib/backupfile.c (find_backup_file_name,
29221         max_backup_version): Use base_len instead of rolling it ourselves.
29222         Handle the case of "" and (on DOS) "C:" correctly.
29223
29224         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
29225         needed. Include <string.h>, <dirname.h>.
29226         (base_name): Allow file names ending in slashes, other than names
29227         that are all slashes.  In this case, return the basename followed
29228         by the slashes.  This is more general, and can be used in places
29229         where the original base_name purposely had an assertion failure.
29230         (base_len): New function.
29231
29232         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
29233         Do not include <assert.h>; no longer needed.
29234         Include xalloc.h.
29235         (memrchr): Remove decl.
29236         (dir_name_r): Remove.
29237         (dir_len): Renamed from dirlen.  All callers changed.
29238         Rewrite in terms of base_name, for simplicity and consistency.
29239         (dir_name): Never return NULL.  All callers changed.
29240         Do not include <stdlib.h> in test program; no longer needed.
29241         return 0; is fine for test program.
29242
29243         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
29244         New macros.
29245         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
29246
29247         * lib/path-concat.c (path_concat): Use base_len to compute
29248         base length, not strlen; this means we cannot rely on memcpy
29249         to null-terminate.
29250
29251         * lib/same.c (STREQ): Remove.
29252         (same_name): Handle the case where the basename ends in trailing '/'.
29253
29254         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
29255         a slash was stripped.  Do not strip the last slash after a
29256         file system prefix.
29257
29258 2001-05-11  Paul Eggert  <eggert@twinsun.com>
29259
29260         * lib/Makefile.am (libfetish_a_SOURCES):
29261         Add strftime.c, since we now compile it on all hosts.
29262
29263         * lib/strftime.c (my_strftime):
29264         Define to nstrftime if emacs, but only if my_strftime is not defined.
29265         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
29266         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
29267         Add one more extra argument: a nanoseconds value.
29268         All uses changed.
29269         (ns): New macro.
29270         (my_strftime function): Add %N format.
29271         (emacs_strftimeu): Renamed from emacs_strftime,
29272         with extra ut argument.
29273
29274 2001-05-09  Paul Eggert  <eggert@twinsun.com>
29275
29276         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
29277
29278 2001-04-21  Jim Meyering  <meyering@lucent.com>
29279
29280         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
29281         doesn't interfere.
29282
29283 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
29284
29285         * m4/ftruncate.m4: Check for chsize.
29286         Link with ftruncate.o unconditionally if ftruncate is missing.
29287         This was required when cross-compiling to i586-mingw32msvc.
29288
29289 2001-04-08  Jim Meyering  <meyering@lucent.com>
29290
29291         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
29292         recomputed; that's necessary when the offset spans a DST transition.
29293         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
29294
29295 2001-04-02  Jim Meyering  <meyering@lucent.com>
29296
29297         * lib/regex.h, regex.c: Update from GNU libc.
29298
29299 2001-03-24  Jim Meyering  <meyering@lucent.com>
29300
29301         * m4/jm-macros.m4: Require autoconf-2.49d.
29302
29303 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
29304
29305         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
29306
29307 2001-03-19  Paul Eggert  <eggert@twinsun.com>
29308
29309         * lib/version-etc.c (version_etc_copyright): Update to 2001.
29310
29311 2001-03-17  Jim Meyering  <meyering@lucent.com>
29312
29313         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
29314         now that the version in autoconf is equivalent.
29315         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
29316
29317         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
29318         Suggestion from Akim Demaille.
29319
29320         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
29321         (jm_PREREQ_TEMPNAME): New function.
29322
29323 2001-03-16  Paul Eggert  <eggert@twinsun.com>
29324
29325         * lib/tempname.c (uint64_t): Define to uintmax_t if
29326         not defined, and if UINT64_MAX is not defined.
29327         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
29328         Reported by John David Anglin.
29329
29330 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
29331
29332         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
29333         resolve alias if codeset is empty.
29334         * lib/config.charset (BeOS): Use wildcard syntax.
29335
29336 2001-03-13  Jim Meyering  <meyering@lucent.com>
29337
29338         * lib/path-concat.c (path_concat)
29339         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
29340         concatenating e.g., `C:' and `foo'.
29341         From Bruno Haible.
29342
29343 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
29344
29345         * lib/localcharset.c (locale_charset): Don't use
29346         setlocale(LC_CTYPE,NULL). Don't return NULL.
29347         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
29348
29349 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
29350
29351         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
29352         support for DOS/DJGPP.
29353
29354 2001-03-01  Paul Eggert  <eggert@twinsun.com>
29355
29356         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
29357         lacks mkstemp.  Compile our own tempname.c if we compile our own
29358         mkstemp.c, as mkstemp relies on tempname.
29359
29360 2001-03-01  Jim Meyering  <meyering@lucent.com>
29361
29362         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
29363         AH_VERBATIM really does output its argument verbatim.
29364
29365 2001-02-28  Paul Eggert  <eggert@twinsun.com>
29366
29367         * lib/Makefile.am (libfetish_a_SOURCES):
29368         Add dup-safer.c, fopen-safer.c.
29369         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
29370
29371         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
29372         * lib/unistd-safer.h: New files.
29373
29374 2001-02-25  Paul Eggert  <eggert@twinsun.com>
29375
29376         The mkstemp replacement is taken from glibc 2.2.2, with some
29377         portability fixes for use outside glibc, as follows:
29378
29379         * lib/tempname.c (struct_stat64): New macro.
29380         (direxists, __gen_tempname): Use it.
29381         This avoids a portability problem with Solaris 8.
29382
29383         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
29384         (<stddef.h>, <stdint.h>, <string.h>):
29385         Include only if STDC_HEADERS || _LIBC.
29386         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
29387         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
29388         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
29389         (__set_errno): Define this macro if <errno.h> doesn't.
29390         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
29391         Define these macros if <stdio.h> doesn't.
29392         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
29393         Define these macros if <sys/stat.h>
29394         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
29395         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
29396         __xstat64): Define if not _LIBC.
29397         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
29398         (__gen_tempname): Invoke gettimeofday only if
29399         HAVE_GETTIMEOFDAY || _LIBC;
29400         otherwise, fall back on plain "time".
29401         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
29402
29403         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
29404
29405         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
29406
29407 2001-02-18  Paul Eggert  <eggert@twinsun.com>
29408
29409         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
29410
29411 2001-02-17  Paul Eggert  <eggert@twinsun.com>
29412
29413         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
29414         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
29415         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
29416         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
29417
29418 2001-02-17  Paul Eggert  <eggert@twinsun.com>
29419
29420         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
29421         Remove workaround macros for hosts that have mbrtowc but not
29422         mbstate_t, as we now insist on proper declarations for both
29423         before using mbrtowc.
29424
29425 2001-02-17  Jim Meyering  <meyering@lucent.com>
29426
29427         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
29428         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
29429         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
29430         UnixWare 7.1.1.
29431
29432         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
29433         rather than AC_CACHE_VAL.
29434
29435 2001-02-17  Jim Meyering  <meyering@lucent.com>
29436
29437         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
29438         around included file name.
29439
29440         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
29441
29442         * lib/strftime.c: Update from GNU libc (the only changes were to
29443         comments).
29444
29445 2001-02-17  Jim Meyering  <meyering@lucent.com>
29446
29447         * lib/regex.c: Update from libc.
29448
29449 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
29450
29451         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
29452         clash.
29453
29454 2001-02-16  Paul Eggert  <eggert@twinsun.com>
29455
29456         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
29457         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
29458         Reported by Mark Hounschell via Paul Eggert.
29459
29460 2001-02-07  Jim Meyering  <meyering@lucent.com>
29461
29462         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
29463
29464 2001-02-05  Jim Meyering  <meyering@lucent.com>
29465
29466         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
29467         it includes the patch required for `large file' support with at least
29468         HP-UX's 10.20 /bin/cc.
29469
29470 2001-02-03  Jim Meyering  <meyering@lucent.com>
29471
29472         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
29473         AS_IF, now that it works once again (mysteriously).
29474         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
29475
29476 2001-01-30  Jim Meyering  <meyering@lucent.com>
29477
29478         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
29479         * m4/chown.m4: Rename conftestchown to conftest.chown.
29480         * m4/rename.m4: s/conftestdir/conftest.d1/ and
29481         s/conftestdir2/conftest.d2/.
29482         * m4/utimes.m4: s/conftestdata/conftest.data/
29483         Inspired by Pavel Roskin's change in autoconf.
29484
29485 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
29486
29487         * lib/config.charset: Update for FreeBSD 4.2.
29488
29489 2001-01-27  Jim Meyering  <meyering@lucent.com>
29490
29491         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
29492         a use of AS_IF.
29493         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
29494
29495 2001-01-26  Jim Meyering  <meyering@lucent.com>
29496
29497         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
29498         quotearg.c includes it.
29499
29500 2001-01-26  Jim Meyering  <meyering@lucent.com>
29501
29502         * lib/quotearg.c: Include stddef.h.
29503         * lib/quote.c: Include stddef.h.
29504         Reported by Axel Kittenberger.
29505
29506         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
29507         line in double quotes so that it evokes a better diagnostic.
29508         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
29509         Reported by Axel Kittenberger.
29510
29511 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
29512
29513         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
29514         as if it was a `charset'.
29515
29516 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
29517
29518         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
29519         has const.
29520
29521 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
29522
29523         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
29524         to avoid a warning.  Add back 'const' to inptr.
29525
29526 2001-01-20  Jim Meyering  <meyering@lucent.com>
29527
29528         Be sure that headers are checked before used in code compiled
29529         for the type checks.
29530         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
29531         In place of that, invoke jm_CHECK_ALL_TYPES.
29532         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
29533         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
29534         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
29535         The check for ssize_t was mistakenly run before the test for unistd.h.
29536
29537         The configure-time check for stdbool.h was missing.
29538         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
29539         (jm_PREREQ_HASH): New function.
29540
29541 2001-01-17  Jim Meyering  <meyering@lucent.com>
29542
29543         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
29544         for autoconf-2.49c.
29545         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
29546
29547 2001-01-16  Jim Meyering  <meyering@lucent.com>
29548
29549         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
29550         From Bruno Haible.
29551
29552 2001-01-14  Jim Meyering  <meyering@lucent.com>
29553
29554         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
29555         foo and bar.  Create conftestdir/ in the script, not in the C code.
29556         Remove directories in the script, not in the C code.
29557         Remove conftestdir{,2} before trying to create the directory.
29558         Make the entire configure script fail if the mkdir fails.
29559
29560 2001-01-14  Jim Meyering  <meyering@lucent.com>
29561
29562         * lib/rename.c: New file.  From Volker Borchert.
29563         Include stdlib.h, string.h or strings.h, and xalloc.h.
29564         Use strip_trailing_slashes rather than open-coding it.
29565
29566 2001-01-03  Paul Eggert  <eggert@twinsun.com>
29567
29568         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
29569
29570 2001-01-03  Jim Meyering  <meyering@lucent.com>
29571
29572         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
29573         of local `inptr' to avoid warning with some system declarations of
29574         iconv.
29575
29576 2001-01-02  Volker Borchert  <bt@teknon.de>
29577
29578         * m4/rename.m4: New file.
29579         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
29580
29581 2001-01-01  Jim Meyering  <meyering@lucent.com>
29582
29583         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
29584         even on systems with utmpx.h.  It's necessary for the declaration of
29585         utmp's ut_user member.  Reported by Andreas Jaeger.
29586
29587         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
29588         available. They are required for the declarations of getgrgid and
29589         getpwuid resp.
29590         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
29591         Reported by Andreas Jaeger.
29592
29593 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
29594
29595         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
29596         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
29597         so `make install' also works in VPATH builds.
29598
29599 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
29600
29601         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
29602         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
29603         can be used in subdirectories.
29604
29605 2000-12-29  Paul Eggert  <eggert@twinsun.com>
29606
29607         * lib/modechange.c: Do not assume that mode_t uses the
29608         traditional octal encoding.  E.g. "chmod 1 FOO" should set
29609         the other-execute bit of FOO even if S_IXOTH != 1.
29610
29611         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
29612         WOTH, XOTH, ALLM): New macros.
29613         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
29614          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
29615         Use them.
29616         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
29617         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
29618         (mode_compile):
29619         No need to use uintmax_t; unsigned long is long enough.
29620         Don't bother to get suffix since we don't use it.
29621
29622 2000-12-26  Jim Meyering  <meyering@lucent.com>
29623
29624         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
29625         better with autoheader.
29626
29627 2000-12-24  Jim Meyering  <meyering@lucent.com>
29628
29629         * lib/hash.c (is_prime): Return explicit boolean values.
29630         (hash_get_first): Return NULL to appease Irix5.6's 89.
29631         Reported by Nelson Beebe.
29632
29633 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
29634
29635         * lib/localcharset.c (locale_charset): Add support for Win32.
29636
29637 2000-12-18  Paul Eggert  <eggert@twinsun.com>
29638
29639         * lib/physmem.h, lib/physmem.c: New files.
29640
29641         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
29642         (noinst_HEADERS): Add physmem.h.
29643
29644         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
29645         't' for compatibility with Solaris 8 sort.
29646
29647 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
29648
29649         * lib/config.charset: Add support for BeOS.
29650
29651 2000-12-17  Jim Meyering  <meyering@lucent.com>
29652
29653         * m4/dos.m4 (jm_AC_DOS): New file and macro.
29654         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
29655
29656 2000-12-16  Jim Meyering  <meyering@lucent.com>
29657
29658         This bug had a serious impact on chown: `chown N:M FILE' (for integer
29659         N and M) would have treated it like `chown N:N FILE'.
29660
29661         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
29662
29663 2000-12-16  Jim Meyering  <meyering@lucent.com>
29664
29665         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
29666         SHELLS_FILE to a file name that's useful on djgpp systems.
29667         Include stdlib.h.
29668         (ADDITIONAL_DEFAULT_SHELLS): Define.
29669         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
29670         Based mostly on a patch from Prashant TR.
29671
29672 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
29673
29674         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
29675         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
29676         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
29677
29678 2000-12-08  Andreas Schwab  <schwab@suse.de>
29679
29680         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
29681         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
29682
29683 2000-12-07  Jim Meyering  <meyering@lucent.com>
29684
29685         * lib/stripslash.c (ISSLASH): Define.
29686         (strip_trailing_slashes): Use ISSLASH rather than comparing against
29687         `/'.
29688         From Prashant TR.
29689
29690         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
29691         (dir_name_r): Declare this function as static.
29692         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
29693         manifest itself on a name containing a mix of slashes and
29694         backslashes.
29695         Make this function work with names starting with a DOS-style
29696         drive letter and colon prefix.
29697         (dir_name): Append `.' if necessary.
29698         Based mostly on patches from Prashant TR and Eli Zaretskii.
29699
29700         * lib/dirname.h (dir_name_r): Remove prototype.
29701
29702 2000-12-06  Paul Eggert  <eggert@twinsun.com>
29703
29704         * m4/off_t-format.m4: Remove this file.
29705         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
29706
29707 2000-12-06  Jim Meyering  <meyering@lucent.com>
29708
29709         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
29710         replacement strtoull, we may well need the replacement strtoul, too.
29711         Check for declarations of strtoul and strtoull.
29712         Check for strtol.  Mainly as a cue to cause automake to include
29713         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
29714         Check for limits.h -- strtol.c needs it.
29715
29716 2000-12-05  Jim Meyering  <meyering@lucent.com>
29717
29718         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
29719
29720 2000-12-04  Jim Meyering  <meyering@lucent.com>
29721
29722         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
29723         Also include memory.h, stdlib.h, unistd.h if appropriate.
29724         Reported by Andreas Jaeger (conflicting declaration of malloc).
29725
29726 2000-12-02  Jim Meyering  <meyering@lucent.com>
29727
29728         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
29729         * m4/jm-macros.m4 (jm_MACROS): require it.
29730
29731 2000-12-02  Jim Meyering  <meyering@lucent.com>
29732
29733         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
29734
29735 2000-12-01  Paul Eggert  <eggert@twinsun.com>
29736
29737         * lib/memrchr.c: Include <config.h> before any system include file.
29738
29739 2000-11-30  Jim Meyering  <meyering@lucent.com>
29740
29741         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
29742
29743 2000-11-30  Jim Meyering  <meyering@lucent.com>
29744
29745         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
29746
29747 2000-11-29  Paul Eggert  <eggert@twinsun.com>
29748
29749         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
29750
29751 2000-11-26  Jim Meyering  <meyering@lucent.com>
29752
29753         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
29754
29755 2000-11-22  Paul Eggert  <eggert@twinsun.com>
29756
29757         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
29758         size of (size_t) -1; it's not portable.
29759
29760 2000-11-17  Jim Meyering  <meyering@lucent.com>
29761
29762         * lib/strstr.c: Update from GNU libc.
29763
29764 2000-11-17  Akim Demaille  <akim@epita.fr>
29765
29766         * lib/obstack.h: Formatting changes.
29767         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
29768         prevent type checking.
29769         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
29770         cast the value to (void *): assigning a `foo *' to a `void *'
29771         variable is valid.
29772         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
29773
29774 2000-11-16  Jim Meyering  <meyering@lucent.com>
29775
29776         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
29777
29778 2000-11-11  Jim Meyering  <meyering@lucent.com>
29779
29780         * lib/error.c: Add a couple #includes, merging from GNU libc version.
29781
29782 2000-11-10  Jim Meyering  <meyering@lucent.com>
29783
29784         * lib/obstack.h: Update from GNU libc.
29785         * lib/obstack.c: Likewise.
29786
29787 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
29788
29789         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
29790
29791 2000-11-06  Paul Eggert  <eggert@twinsun.com>
29792
29793         * lib/getusershell.c (setusershell): Use rewind rather than
29794         fseek/fseeko, to avoid configuration hassles with fseeko.
29795         Don't bother opening SHELLS_FILE if shellstream is NULL;
29796         it's not necessary.
29797
29798 2000-11-05  Jim Meyering  <meyering@lucent.com>
29799
29800         * lib/makepath.h (make_dir): Declare.
29801         * lib/makepath.c (make_dir): Remove `static' attribute.
29802         Tweak a comment.
29803
29804 2000-11-04  Jim Meyering  <meyering@lucent.com>
29805
29806         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
29807
29808 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
29809
29810         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
29811         last one in a bucket, advance to the next bucket.
29812
29813 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
29814
29815         * lib/fnmatch.c: Do not comment out all the code if we are using
29816         the GNU C library, because in some cases we are replacing buggy
29817         code in the GNU C library itself.
29818
29819 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
29820
29821         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
29822         (regex_compile): Catch bogus \(\1\).
29823
29824 2000-10-30  Paul Eggert  <eggert@twinsun.com>
29825
29826         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
29827         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
29828         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
29829
29830 2000-10-30  Paul Eggert  <eggert@twinsun.com>
29831
29832         * lib/error.h, getline.h, modechange.h:
29833         Remove "2000" from Copyright line, as the file hasn't been
29834         changed this year other than in the copyright notice.
29835
29836         * lib/xalloc.h: Add "2000" to Copyright line, as this file
29837         was changed this year.
29838
29839 2000-10-29  Jim Meyering  <meyering@lucent.com>
29840
29841         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
29842         renaming.
29843         * m4/ls-mntd-fs.m4: Likewise
29844
29845 2000-10-29  Jim Meyering  <meyering@lucent.com>
29846
29847         * lib/xstat.in: Fix grammar in comment.
29848
29849 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
29850
29851         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
29852         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
29853         doesn't define __restrict_arr.
29854
29855 2000-10-28  Jim Meyering  <meyering@lucent.com>
29856
29857         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
29858         (jm_PREREQ_MEMCHR): New function.
29859
29860 2000-10-28  Jim Meyering  <meyering@lucent.com>
29861
29862         * lib/memchr.c: Update from libc.
29863         Adjust for portability:
29864         [HAVE_STDLIB_H]: Include stdlib.h.
29865         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
29866         Undef __memchr, too.
29867         [!weak_alias]: Define __memchr to memchr.
29868
29869         * lib/regex.c: Update from libc.
29870         * lib/regex.h: Likewise.
29871         * lib/getopt1.c: Likewise.
29872         * lib/memcmp.c: Likewise.
29873
29874         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
29875         Avoid using fseek, when possible -- it's broken by design.
29876         Patch by Ulrich Drepper.
29877
29878 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
29879
29880         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
29881         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
29882         Giving in to popular pressure to shut up the compiler with casts.
29883
29884 2000-10-26  Jim Meyering  <meyering@lucent.com>
29885
29886         * lib/strftime.c: Update from libc.
29887
29888 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
29889
29890         * regex.c: More `unsigned char' -> `re_char' changes.
29891         Also change several `int' into `re_wchar_t'.
29892         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
29893         (PUSH_FAILURE_POINTER): Don't cast any more.
29894         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
29895         We want GCC to complain, since this piece of code makes
29896         re_match non-reentrant, which *should* be fixed.
29897         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
29898         (EXTEND_BUFFER): Use RETALLOC.
29899         (SET_LIST_BIT): Don't cast.
29900         (re_wchar_t): New type.
29901         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
29902         that those two functions will always properly return.
29903         (IMMEDIATE_QUIT_CHECK): Cast to void.
29904         (analyse_first): Use recursion rather than an explicit stack.
29905         (re_compile_fastmap): Can't fail anymore.
29906         (re_search_2): Don't check re_compile_fastmap for failure.
29907         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
29908         Now also sets the new value (passed in a new argument).
29909         (re_match_2_internal): Use it.
29910         Also, use a new var `reg' of type size_t when looping through regs
29911         rather than reuse the inappropriate `mcnt'.
29912
29913 2000-10-25  Jim Meyering  <meyering@lucent.com>
29914
29915         * lib/obstack.c: Update from libc.
29916
29917 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
29918
29919         * regex.c (regex_compile): Change the way of handling a range from
29920         a char less than 256 to a char not less than 256.
29921
29922 2000-10-24  Andrew Innes  <andrewi@gnu.org>
29923
29924         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
29925         NT-Emacs only.
29926         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
29927         so that re_search functions only quit when callers expect them to.
29928
29929 2000-10-23  Jim Meyering  <meyering@lucent.com>
29930
29931         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
29932         wrong.  That set_locale call must not have any side effects.
29933         From Paul Eggert.
29934
29935 2000-10-22  Jim Meyering  <meyering@lucent.com>
29936
29937         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
29938         [CYCLIC]: Remove now-unused definition.
29939
29940         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
29941         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
29942         Suggestion from Ulrich Drepper.
29943
29944 2000-10-21  Jim Meyering  <meyering@lucent.com>
29945
29946         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
29947         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
29948         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
29949
29950 2000-10-21  Jim Meyering  <meyering@lucent.com>
29951
29952         * lib/dirname.c (memrchr): Declare if necessary.
29953         (dir_name): Remove the restriction that there be no
29954         trailing slashes.  Now, this code skips past them, effectively
29955         ignoring them.
29956         [TEST_DIRNAME] (main): New unit tests.
29957
29958         * lib/memrchr.c: New file from GNU libc.
29959         Undef __memrchr, too.
29960         [!weak_alias]: Define __memrchr to memrchr.
29961         Guard weak_alias use with `#ifdef weak_alias'.
29962
29963 2000-10-21  Jim Meyering  <meyering@lucent.com>
29964
29965         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
29966         (dir_name): Use dir_name_r.
29967         * lib/dirname.h (dir_name_r): Declare it.
29968
29969 2000-10-17  Jim Meyering  <meyering@lucent.com>
29970
29971         * lib/quote.h (PARAMS): Define and use.
29972         Reported by Akim Demaille.
29973
29974         * lib/getopt.c: Update from libc.
29975
29976 2000-10-16  Jim Meyering  <meyering@lucent.com>
29977
29978         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
29979         setlocale.
29980         From Jan Fedak.
29981
29982 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
29983
29984         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
29985
29986 2000-09-25  Jim Meyering  <meyering@lucent.com>
29987
29988         * lib/md5.h (rol): Define (from GnuPG).
29989
29990         * lib/sha.c: Give credit (GnuPG) where due.
29991         (M): Use rol rather than open-coding it.
29992         Add a FIXME comment.
29993
29994 2000-09-21  Jim Meyering  <meyering@lucent.com>
29995
29996         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
29997         Reported by Michael Stone.
29998
29999 2000-09-20  Jim Meyering  <meyering@lucent.com>
30000
30001         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
30002         (noinst_HEADERS): Add sha.h.
30003         Based on code from Scott G. Miller and from GnuPG.
30004
30005 2000-09-18  Jim Meyering  <meyering@lucent.com>
30006
30007         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
30008         LIBS. Otherwise, everyone ends up linking with -lelf for some
30009         configurations.
30010         Reported by Mike Stone.
30011
30012 2000-09-15  Jim Meyering  <meyering@lucent.com>
30013
30014         * lib/regex.c: Update from libc.
30015
30016 2000-09-10  Jim Meyering  <meyering@lucent.com>
30017
30018         * lib/getopt.c (_getopt_internal): Update from glibc.
30019
30020 2000-09-09  Jim Meyering  <meyering@lucent.com>
30021
30022         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
30023         think it should be used as a general replacement for isascii.
30024         * lib/fnmatch.c: Likewise.
30025         * lib/mbswidth.c: Likewise
30026         * lib/regex.c: Likewise.
30027
30028         Don't use atoi.
30029         * lib/userspec.c: Include sys/param.h and limits.h.
30030         Include xstrtol.h.
30031         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
30032         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
30033         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
30034         UID, GID.  Check range.
30035
30036 2000-09-06  Jim Meyering  <meyering@lucent.com>
30037
30038         * lib/getopt.c (_getopt_internal): Update from glibc.
30039
30040 2000-08-30  Jim Meyering  <meyering@lucent.com>
30041
30042         * lib/strftime.c: Merge in changes from GNU libc.
30043
30044 2000-08-26  Jim Meyering  <meyering@lucent.com>
30045
30046         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
30047         * m4/fpending.m4: New file.
30048
30049 2000-08-26  Jim Meyering  <meyering@lucent.com>
30050
30051         * lib/closeout.c: Include "__fpending.h".
30052         (close_stdout_status): Return right away if there's nothing to flush.
30053
30054         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
30055         * lib/__fpending.c: New file.
30056         * lib/__fpending.h: New file.
30057
30058 2000-08-20  Jim Meyering  <meyering@lucent.com>
30059
30060         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
30061         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
30062         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
30063
30064 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
30065
30066         Improve fileutils installation on systems where running
30067         programs (like install) can't be unlinked.
30068         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
30069         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
30070
30071 2000-08-07  Paul Eggert  <eggert@twinsun.com>
30072
30073         Standardize on "memory exhausted" instead of "Memory exhausted"
30074         or "virtual memory exhausted".
30075         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
30076         "virtual memory exhausted".
30077         * lib/same.c (same_name): Invoke xalloc_die instead of printing
30078         our own message.
30079         * lib/userspec.c (parse_user_spec): Likewise.
30080         * lib/bumpalloc.h: comment fix
30081         * lib/same.c, userspec.c: Include xalloc.h.
30082
30083         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
30084         not char *const and pointing to a constant array.
30085         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
30086         (xrealloc): Comment fix.
30087
30088         * lib/userspec.c (parse_user_spec):
30089         Don't translate a message until just before returning,
30090         to avoid unnecessary translation.
30091
30092 2000-08-07  Jim Meyering  <meyering@lucent.com>
30093
30094         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
30095         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
30096         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
30097         getgroups.c, gethostname.c, getopt.h, group-member.c,
30098         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
30099         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
30100         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
30101         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
30102         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
30103         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
30104         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
30105         yesno.c: Back out Copyright date changes for each file with no change
30106         this year.  This eases coordination with other programs using the same
30107         source code modules.  From Paul Eggert.
30108
30109 2000-08-06  Paul Eggert  <eggert@twinsun.com>
30110
30111         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
30112         not char, for compatibility with glibc 2.1.3 strftime.c.
30113
30114 2000-08-03  Greg McGary  <greg@mcgary.org>
30115
30116         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
30117         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
30118         (EXTEND_BUFFER): Use them.
30119
30120 2000-08-01  Jim Meyering  <meyering@lucent.com>
30121
30122         * lib/dirname.c (ISSLASH): Define.
30123         (BACKSLASH_IS_PATH_SEPARATOR): Define.
30124         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
30125         both `\' and `/' may be use as path separators.
30126         Based on a patch from Prashant TR.
30127
30128 2000-07-31  Paul Eggert  <eggert@twinsun.com>
30129
30130         * lib/quotearg.c (quotearg_n_options): Don't make the initial
30131         slot vector a constant, since it might get modified.
30132
30133 2000-07-31  Jim Meyering  <meyering@lucent.com>
30134
30135         * lib/xmalloc.c: Use `virtual memory exhausted', not
30136         `Memory exhausted'.
30137         * lib/obstack.c (print_and_abort): Likewise.
30138
30139 2000-07-30  Paul Eggert  <eggert@twinsun.com>
30140
30141         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
30142         buffer, so that the caller can always quote one small
30143         component of a "memory exhausted" message in slot 0.
30144         From a suggestion by Jim Meyering.
30145
30146 2000-07-30  Jim Meyering  <meyering@lucent.com>
30147
30148         * lib/makepath.c (make_path): Quote the other instance, too.
30149
30150         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
30151         (STATIC_BUF_SIZE): Define.
30152         (quotearg_n_options): Use only statically allocated storage when
30153         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
30154         than STATIC_BUF_SIZE.
30155
30156 2000-07-29  Jim Meyering  <meyering@lucent.com>
30157
30158         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
30159         * lib/dirname.c (dir_name): Likewise.
30160
30161         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
30162         `/'.
30163
30164         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
30165         (dir_name): Assert that there are no trailing slashes.
30166
30167 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
30168
30169         * lib/mbswidth.h (mbswidth): Add a flags argument.
30170         (mbswidth): New declaration.
30171         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
30172         * lib/mbswidth.c (mbswidth): Add a flags argument.
30173         (mbsnwidth): New function.
30174
30175 2000-07-24  Jim Meyering  <meyering@lucent.com>
30176
30177         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
30178
30179 2000-07-23  Paul Eggert  <eggert@twinsun.com>
30180
30181         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
30182
30183 2000-07-23  Paul Eggert  <eggert@twinsun.com>
30184
30185         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
30186         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
30187         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
30188         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
30189         invoke multibyte primitives.
30190
30191 2000-07-23  Paul Eggert  <eggert@twinsun.com>
30192
30193         * lib/quotearg.c:
30194         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
30195         so that mbstate_t is always defined.
30196
30197         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
30198         be 1 in at least one GCC installation, and this configuration
30199         error is likely to be common.  Ignoring MB_LEN_MAX hurts
30200         performance on hosts that have mbrtowc but have only unibyte
30201         locales, but I assume these hosts are rare.
30202
30203 2000-07-23  Paul Eggert  <eggert@twinsun.com>
30204
30205         * lib/mbswidth.c (_XOPEN_SOURCE):
30206         Don't define; this causes problems on Solaris 7.
30207         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
30208
30209 2000-07-23  Jim Meyering  <meyering@lucent.com>
30210
30211         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
30212         too: getgrgid, getpwuid, getuid.
30213
30214 2000-07-23  Jim Meyering  <meyering@lucent.com>
30215
30216         * lib/basename.c (base_name): Add an assertion.
30217
30218 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
30219
30220         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
30221         shadow its mbsinit function.
30222
30223 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
30224
30225         * lib/mbswidth.h: New file.
30226         * lib/mbswidth.c: New file.
30227         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
30228         (noinst_HEADERS): Add mbswidth.h.
30229
30230 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
30231
30232         * lib/config.charset: Add support for FreeBSD. Improve support for
30233         HP-UX and IRIX 6.
30234
30235 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
30236
30237         * m4/mbswidth.m4: New file.
30238         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
30239
30240 2000-07-15  Jim Meyering  <meyering@lucent.com>
30241
30242         * lib/makepath.c: Include quote.h.
30243         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
30244         corresponding argument in a `quote (...)' call.
30245         Give better diagnostics.
30246
30247         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
30248         (noinst_HEADERS): Add quote.h.
30249
30250         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
30251         from tar's src/misc.c.
30252         * lib/quote.h: New file.  Prototypes for same.
30253
30254 2000-07-14  Paul Eggert  <eggert@twinsun.com>
30255
30256         From a suggestion by Bruno Haible.
30257         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
30258         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
30259         to decide whether to define the BeOS workaround macro;
30260         this adjusts to the change to AC_MBSTATE_T.
30261
30262 2000-07-14  Jim Meyering  <meyering@lucent.com>
30263
30264         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
30265         jm_AC_TYPE_UINTMAX_T.
30266
30267 2000-07-13  Paul Eggert  <eggert@twinsun.com>
30268
30269         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
30270
30271         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
30272         quotearg_buffer_restyled): Add support for
30273         clocale_quoting_style.  Undo previous change to
30274         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
30275         and "{RIGHT QUOTATION MARK}" msgids.
30276
30277 2000-07-10  Paul Eggert  <eggert@twinsun.com>
30278
30279         From a suggestion by Bruno Haible.
30280         * m4/mbstate_t.m4 (AC_MBSTATE_T):
30281         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
30282         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
30283         and mbstate_t, to a single-part test that simply defines mbstate_t.
30284         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
30285         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
30286
30287 2000-07-10  Jim Meyering  <meyering@lucent.com>
30288
30289         * m4/strerror_r.m4: Mirror the correction made in autoconf.
30290
30291         * m4/gnu-source.m4: Output to confdefs.h directly.
30292         Suggestion from Akim Demaille.
30293
30294 2000-07-09  Paul Eggert  <eggert@twinsun.com>
30295
30296         The old behavior of quoting `like this' doesn't look good with
30297         newer, ISO-style fonts.  See:
30298         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
30299
30300         Instead, quote "like this" by default.  Let the translator
30301         tailor the locale-specific quoting behavior by providing
30302         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
30303
30304         * lib/quotearg.c (N_): New macro.
30305         (gettext_default): New function.
30306         (quotearg_buffer_restyled): Use
30307         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
30308         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
30309
30310 2000-07-09  Jim Meyering  <meyering@lucent.com>
30311
30312         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
30313         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
30314
30315         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
30316         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
30317
30318 2000-07-09  Jim Meyering  <meyering@lucent.com>
30319
30320         * lib/Most files: Update copyright dates to include 2000.
30321
30322 2000-07-08  Jim Meyering  <meyering@lucent.com>
30323
30324         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
30325         if not defined.
30326         (xgethostname): Remove now-unnecessary #ifdef.
30327         Move declaration of `err' into loop where it's used.
30328
30329 2000-07-05  Paul Eggert  <eggert@twinsun.com>
30330         and Bruno Haible  <haible@clisp.cons.org>
30331
30332         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
30333         only if the test for an object-type mbstate_t fails.  This
30334         prevents us from mistakenly reporting that mbstate_t is a
30335         system object type after we "#define mbstate_t int" to work
30336         around its lack.
30337
30338 2000-07-05  Paul Eggert  <eggert@twinsun.com>
30339         and Bruno Haible  <haible@clisp.cons.org>
30340
30341         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
30342
30343 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
30344
30345         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
30346         to strerror_r.
30347         Include <ctype.h> for use of isalpha.
30348
30349 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
30350
30351         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
30352         by allocating a larger buffer. Test the gethostname return value for
30353         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
30354         returns an error and ENAMETOOLONG isn't defined.
30355
30356 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
30357
30358         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
30359         dimension.
30360
30361 2000-07-04  Jim Meyering  <meyering@lucent.com>
30362
30363         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
30364         of the deprecated AC_CHECKING.
30365
30366 2000-07-04  Jim Meyering  <meyering@lucent.com>
30367
30368         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
30369         Reported by Bruno Haible.
30370
30371 2000-07-04  Jim Meyering  <meyering@lucent.com>
30372
30373         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
30374         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
30375         lacks mbrtowc.
30376
30377 2000-07-03  Paul Eggert  <eggert@twinsun.com>
30378
30379         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
30380         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
30381
30382 2000-07-03  Paul Eggert  <eggert@twinsun.com>
30383         and Bruno Haible  <haible@clisp.cons.org>
30384
30385         * lib/quotearg.c (mbrtowc):
30386         Assign to *pwc, and return 1 only if result is nonzero.
30387         (iswprint): Use ISPRINT when substituting our own mbrtowc.
30388
30389 2000-07-03  Jim Meyering  <meyering@lucent.com>
30390
30391         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
30392
30393 2000-07-03  Jim Meyering  <meyering@lucent.com>
30394
30395         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
30396         This is necessary to get a definition of e.g., UTMP_FILE on
30397         HP-UX 10.20.
30398         From Bob Proulx.
30399
30400 2000-07-02  Jim Meyering  <meyering@lucent.com>
30401
30402         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
30403
30404         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
30405         AC_LIBOBJ(function_name).
30406         * m4/chown.m4: Likewise.
30407         * m4/fnmatch.m4: Likewise.
30408         * m4/ftruncate.m4: Likewise.
30409         * m4/getgroups.m4: Likewise.
30410         * m4/getline.m4: Likewise.
30411         * m4/group-member.m4: Likewise.
30412         * m4/jm-macros.m4: Likewise.
30413         * m4/lstat.m4: Likewise.
30414         * m4/malloc.m4: Likewise.
30415         * m4/memcmp.m4: Likewise.
30416         * m4/nanosleep.m4: Likewise.
30417         * m4/putenv.m4: Likewise.
30418         * m4/realloc.m4: Likewise.
30419         * m4/regex.m4: Likewise.
30420         * m4/stat.m4: Likewise.
30421         * m4/strftime.m4: Likewise.
30422
30423 2000-07-02  Jim Meyering  <meyering@lucent.com>
30424
30425         * lib/quotearg.c (mbstate_t): Don't define here.
30426
30427 2000-07-02  Jim Meyering  <meyering@lucent.com>
30428
30429         * lib/nanosleep.c (SIGCONT): Define if not already defined.
30430
30431 2000-07-01  Jim Meyering  <meyering@lucent.com>
30432
30433         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
30434
30435 2000-07-01  Jim Meyering  <meyering@lucent.com>
30436
30437         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
30438         problem.
30439
30440 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
30441
30442         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
30443         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
30444
30445 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
30446
30447         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
30448         per change in ../m4/ls-mntd-fs.m4.
30449         (read_filesystem_list): Ignore symbolic links.
30450
30451 2000-06-29  Jim Meyering  <meyering@lucent.com>
30452
30453         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
30454         for declaration of strcmp.
30455
30456         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
30457
30458         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
30459         Avoid warning by casting result to `char *' to remove `const'.
30460
30461 2000-06-28  Jim Meyering  <meyering@lucent.com>
30462
30463         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
30464         included by quotearg.c, for which we perform this test.  From
30465         Bruno Haible.
30466
30467 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
30468
30469         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
30470         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
30471         <utmpx.h> exists, put readutmp.o into LIBOBJS.
30472
30473 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
30474
30475         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
30476
30477 2000-06-26  Paul Eggert  <eggert@twinsun.com>
30478
30479         savedir now sets errno on failure and invokes xmalloc to get memory.
30480         Fix a couple of other minor bugs while we're at it.
30481
30482         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
30483         (NAMLEN): Remove macro.
30484         (malloc, realloc): Remove decls.
30485         (stpcpy): Likewise.
30486         ("xalloc.h"): Include.
30487         (NAME_SIZE_DEFAULT): New macro.
30488         (savedir): Use xmalloc / xrealloc to allocate memory.
30489         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
30490         Skip "" directory entries.
30491         Use strlen to calculate directory entry length, since the old method
30492         is rarely used these days and isn't worth supporting.
30493         Don't use a pointer after freeing it.
30494         Check for integer overflow when calculating allocation size.
30495         Use memcpy to copy entries, instead of stpcpy.
30496         Set errno properly when returning NULL.
30497         Check for readdir error.
30498
30499 2000-06-26  Jim Meyering  <meyering@lucent.com>
30500
30501         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
30502
30503 2000-06-25  Jim Meyering  <meyering@lucent.com>
30504
30505         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
30506         Linux header bug when _XOPEN_SOURCE is defined to 500.
30507
30508 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
30509
30510         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
30511         deficiency.
30512
30513 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
30514
30515         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
30516         Include xalloc.h.
30517         Don't include <stdlib.h>.  Don't declare malloc, realloc.
30518
30519 2000-06-24  Jim Meyering  <meyering@lucent.com>
30520
30521         * m4/strerror_r.m4: Revive this file -- to try out an experimental
30522         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
30523         for which strerror does return char*, but which lacks a conveniently
30524         accessible declaration of the function.  If the compile-test says
30525         strerror_r doesn't work, then resort to a `run'-test that works on
30526         BeOS and segfaults on DEC Unix.
30527
30528 2000-06-24  Jim Meyering  <meyering@lucent.com>
30529
30530         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
30531
30532 2000-06-23  Paul Eggert  <eggert@twinsun.com>
30533
30534         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
30535         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
30536
30537 2000-06-23  Paul Eggert  <eggert@twinsun.com>
30538
30539         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
30540         (mbrtowc, mbstate_t): Define substitutes if
30541         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
30542         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
30543         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
30544
30545 2000-06-23  Jim Meyering  <meyering@lucent.com>
30546
30547         * m4/afs.m4: Add missing AC_MSG_RESULT.
30548         Reported by Bruno Haible.
30549
30550         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
30551         Suggestion from Bruno Haible.
30552
30553 2000-06-23  Jim Meyering  <meyering@lucent.com>
30554
30555         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
30556
30557 2000-06-21  Jim Meyering  <meyering@lucent.com>
30558
30559         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
30560
30561 2000-06-21  Jim Meyering  <meyering@lucent.com>
30562
30563         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
30564         (noinst_HEADERS): Add getstr.h.
30565
30566         * lib/getline.c (getstr): Move into a separate file.
30567         * lib/getstr.c (getstr): New file, extracted from getline.c, with
30568         the following changes: new parameter, delim2; both delim[12]
30569         parameters have type `int', not `char'.  The latter would lose
30570         with 8-bit delimiters.
30571         * lib/getstr.h: New file.
30572
30573 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
30574
30575         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
30576         than 1024, return a memory chunk of least possible size, instead
30577         of size PATH_MAX + 2. In the loop, increment the size proportionally.
30578         Use free/xmalloc instead of xrealloc to avoid copying for very long
30579         paths.
30580
30581 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
30582
30583         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
30584         the empty string.
30585
30586 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
30587
30588         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
30589         address, not strdup.  Include <stdlib.h> and don't declare free().
30590
30591 2000-06-19  Jim Meyering  <meyering@lucent.com>
30592
30593         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
30594
30595 2000-06-18  Jim Meyering  <meyering@lucent.com>
30596
30597         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
30598
30599         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
30600         `checking whether...' message to be consistent with that of the
30601         lstat test.
30602
30603 2000-06-18  Jim Meyering  <meyering@lucent.com>
30604
30605         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
30606         Besides, these days every porting target provides a mkdir function.
30607
30608         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
30609         needed. (this snippet comes from src/system.h).
30610
30611 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
30612
30613         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
30614
30615 2000-06-15  Paul Eggert  <eggert@twinsun.com>
30616
30617         * lib/human.c (adjust_value): New function.
30618         (human_readable_inexact): Apply rounding style even when
30619         printing approximate values.
30620
30621 2000-06-14  Paul Eggert  <eggert@twinsun.com>
30622
30623         * lib/human.c (human_readable_inexact): Allow an input block
30624         size that is not a multiple of the output block size, and vice versa.
30625         Reported by Piergiorgio Sartor.
30626
30627 2000-06-14  Paul Eggert  <eggert@twinsun.com>
30628
30629         * lib/getdate.y (get_date): Apply relative times after time
30630         zone indicator, not before.  Reported by Todd A. Jacobs.
30631
30632 2000-06-13  Jim Meyering  <meyering@lucent.com>
30633
30634         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
30635
30636         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
30637
30638 2000-06-12  Paul Eggert  <eggert@twinsun.com>
30639
30640         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
30641
30642 2000-06-12  Jim Meyering  <meyering@lucent.com>
30643
30644         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
30645         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
30646         optional argument.
30647         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
30648         the optional argument, `lib'.
30649
30650 2000-06-08  Jim Meyering  <meyering@lucent.com>
30651
30652         * m4/largefile.m4: Remove file (now that it's part of autoconf).
30653
30654 2000-06-04  Paul Eggert  <eggert@twinsun.com>
30655
30656         Rewrite largefile configuration so that we don't need to run
30657         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
30658         AC_CANONICAL_HOST in configure.in -- jmm]
30659
30660         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
30661         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
30662         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
30663         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
30664         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
30665         All uses changed.
30666         Instead of inspecting the output of getconf, try to compile the
30667         test program without and with the macro definition.
30668         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
30669         for getconf.  Instead, check for the needed flags by compiling
30670         test programs.
30671
30672 2000-06-04  Paul Eggert  <eggert@twinsun.com>
30673
30674         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
30675
30676 2000-06-04  Jim Meyering  <meyering@lucent.com>
30677
30678         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
30679         SunOS 4.1.4 for which gid_t is an unsigned type.
30680
30681 2000-06-03  Jim Meyering  <meyering@lucent.com>
30682
30683         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
30684         now that autoconf requires that.
30685
30686         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
30687         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
30688         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
30689
30690 2000-06-03  Jim Meyering  <meyering@lucent.com>
30691
30692         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
30693
30694 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
30695
30696         * m4/glibc21.m4: New file.
30697         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
30698
30699 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
30700
30701         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
30702         newer, don't install charset.alias.
30703         * lib/config.charset: Change the Linux/glibc rules so they become empty
30704         on glibc-2.1 or newer.
30705
30706 2000-06-02  Jim Meyering  <meyering@lucent.com>
30707
30708         * lib/mountlist.c: Back out last change.  Instead, do this...
30709         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
30710         me_dummy member using the same `ignore'-testing code.
30711         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
30712         fs_type strings.
30713         From Mark D. Roth.
30714
30715 2000-05-29  Jim Meyering  <meyering@lucent.com>
30716
30717         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
30718         mounts with the `ignore' attribute.  Based on a patch from
30719         Mark D. Roth.
30720
30721 2000-05-28  Jim Meyering  <meyering@lucent.com>
30722
30723         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
30724         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
30725         * m4/stat.m4: Likewise.
30726         * m4/lstat.m4: Likewise.
30727         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
30728
30729         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
30730         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
30731
30732 2000-05-26  Jim Meyering  <meyering@lucent.com>
30733
30734         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
30735
30736 2000-05-24  Jim Meyering  <meyering@lucent.com>
30737
30738         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
30739         autoconf requires that.
30740         * m4/lib-check.m4: Likewise.
30741         * m4/jm-macros.m4: Likewise.
30742         * m4/strftime.m4: Likewise.
30743
30744         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
30745         AC_CHECK_DECLS, now that autoconf requires that.
30746
30747 2000-05-22  Jim Meyering  <meyering@lucent.com>
30748
30749         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
30750         * m4/lstat.m4: Likewise.
30751
30752 2000-05-22  Jim Meyering  <meyering@lucent.com>
30753
30754         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
30755
30756 2000-05-20  Jim Meyering  <meyering@lucent.com>
30757
30758         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
30759         (jm_PREREQ): Use it.
30760
30761 2000-05-18  Jim Meyering  <meyering@lucent.com>
30762
30763         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
30764         back, too, since it may have been modified by allocate_entry.
30765         (hash_delete): Rewrite to use neither the assignment operator
30766         nor the comma operator in an if-expression.
30767
30768 2000-05-15  Paul Eggert  <eggert@twinsun.com>
30769
30770         * lib/closeout.c:
30771         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
30772         Remove; no longer needed.
30773         "quotearg.h": Add include.
30774         (file_name): Do not bother to explicitly initialize to NULL; it's less
30775         efficient on some hosts.
30776         (close_stdout_status): Remove test as to whether stdout was already
30777         closed; it breaks for the case "echo x | sort >&-".
30778         Quote file name colons.
30779         Do not assume that _("write error") lacks format strings.
30780
30781 2000-05-15  Jim Meyering  <meyering@lucent.com>
30782
30783         * lib/version-etc.c (version_etc_copyright): Update the copyright
30784         string used in all --version output.
30785
30786 2000-05-14  Jim Meyering  <meyering@lucent.com>
30787
30788         * lib/closeout.c (close_stdout_set_file_name): New function.
30789         (close_stdout_status): Use new file-scoped global.
30790         Return right away if fstat says the stdout file descriptor is invalid.
30791         * lib/closeout.h (close_stdout_set_file_name): Declare.
30792
30793 2000-05-10  Jim Meyering  <meyering@lucent.com>
30794
30795         * lib/closeout.c [default_exit_status]: New file-scoped variable.
30796         (close_stdout_set_status): New function.
30797         * lib/closeout.h (close_stdout_set_status): Declare.
30798
30799 2000-05-09  Jim Meyering  <meyering@lucent.com>
30800
30801         * m4/gettext.m4: Rename this...
30802         * m4/libintl.m4: ...to this.
30803
30804 2000-05-08  Jim Meyering  <meyering@lucent.com>
30805
30806         * lib/long-options.c: Don't include closeout.h.
30807         (parse_long_options): Don't call close_stdout for --version.
30808
30809 2000-05-06  Paul Eggert  <eggert@twinsun.com>
30810
30811         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
30812         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
30813         2.1.3 bug.  This avoids a clash when files like regex.c define
30814         _GNU_SOURCE.
30815
30816 2000-05-06  Jim Meyering  <meyering@lucent.com>
30817
30818         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
30819         (AC_REPLACE_FUNCS): Add strnlen.
30820
30821         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
30822         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
30823
30824         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
30825         AC_SEARCH_LIBS call for nanosleep.
30826         (LIB_NANOSLEEP): Set and AC_SUBST.
30827
30828 2000-05-06  Jim Meyering  <meyering@lucent.com>
30829
30830         * lib/strnlen.c: Undefine __strnlen and strnlen.
30831         [!weak_alias]: Define __strnlen to strnlen.
30832
30833         * lib/atexit.c: New file, from libiberty.
30834
30835 2000-05-06  Jim Meyering  <meyering@lucent.com>
30836
30837         * lib/closeout.c (close_stdout_status): Also check for errors on the
30838         stderr stream.
30839
30840 2000-05-05  Jim Meyering  <meyering@lucent.com>
30841
30842         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
30843         AC_SEARCH_LIBS call for clock_gettime.
30844         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
30845
30846         * m4/search-libs.m4: Update from autoconf.
30847
30848         su doesn't work on Solaris 2.6.
30849         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
30850         <shadow.h>.  Reported by Dragos Harabor.
30851
30852 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
30853
30854         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
30855         memcpy instead of xmalloc, xrealloc, path_concat.
30856         (locale_charset): Treat empty environment variables as absent.
30857         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
30858
30859 2000-05-04  Jim Meyering  <meyering@lucent.com>
30860
30861         * lib/getopt.c: Update from glibc.
30862         * lib/obstack.c: Likewise.
30863         * lib/obstack.h: Likewise.
30864         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
30865         file
30866
30867         * lib/regex.h: Likewise.
30868         * lib/strndup.c: Likewise.
30869         * lib/strnlen.c: New file, from glibc.
30870
30871 2000-05-03  Jim Meyering  <meyering@lucent.com>
30872
30873         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
30874
30875 2000-05-02  Paul Eggert  <eggert@twinsun.com>
30876
30877         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
30878         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
30879         compile-time test, rather than inspecting host and OS, to
30880         decide whether to define _LARGEFILE_SOURCE.
30881
30882 2000-05-01  Jim Meyering  <meyering@lucent.com>
30883
30884         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
30885
30886         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
30887         Based on a patch from Bruno Haible.
30888
30889 2000-05-01  Jim Meyering  <meyering@lucent.com>
30890
30891         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
30892
30893 2000-04-29  Jim Meyering  <meyering@lucent.com>
30894
30895         * lib/path-concat.c: Declare strdup only if it's not defined.
30896         * lib/canon-host.c: Likewise.
30897
30898 2000-04-28  Jim Meyering  <meyering@lucent.com>
30899
30900         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
30901         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
30902         is included first, then limits.h is included by locale.h by libintl.h.
30903         From John David Anglin.
30904
30905 2000-04-25  Jim Meyering  <meyering@lucent.com>
30906
30907         * lib/makepath.c (S_IRWXUGO): Define.
30908         (make_path): Always perform explicit chmod if MODE specifies any
30909         of the `special' permission bits.  Prompted by a bug report against
30910         install from Mate Wierdl and Joost van Baal.
30911
30912 2000-04-18  Jim Meyering  <meyering@lucent.com>
30913
30914         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
30915         (jm_PREREQ): Use it.
30916
30917 2000-04-18  Jim Meyering  <meyering@lucent.com>
30918
30919         * lib/README: New file.
30920
30921         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
30922         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
30923
30924 2000-04-17  Jim Meyering  <meyering@lucent.com>
30925
30926         Get it right :-)
30927         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
30928         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
30929         Suggestion from Akim Demaille.
30930
30931 2000-04-17  Jim Meyering  <meyering@lucent.com>
30932
30933         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
30934         the definition of it to rpl_strftime also defined-away the system's
30935         declaration.
30936
30937 2000-04-15  Jim Meyering  <meyering@lucent.com>
30938
30939         Use `C' to denote so-called `contiguous' files, the same way
30940         that tar does.
30941         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
30942         (ftypelet): Use S_ISCTG.
30943         From Michael Deutschmann.
30944
30945 2000-04-14  Jim Meyering  <meyering@lucent.com>
30946
30947         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
30948         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
30949         clobbered.
30950
30951 2000-04-14  Jim Meyering  <meyering@lucent.com>
30952
30953         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
30954
30955 2000-04-13  Jim Meyering  <meyering@lucent.com>
30956
30957         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
30958         AH_VERBATIM to insert required #ifndef into config.h.in.
30959         Suggestion from Akim Demaille.
30960
30961 2000-04-12  Jim Meyering  <meyering@lucent.com>
30962
30963         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
30964         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
30965         Christian Krackowizer.
30966
30967         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
30968         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
30969         (AC_SYS_LARGEFILE): Require.
30970         (AM_C_PROTOTYPES): Require.
30971
30972 2000-04-08  Jim Meyering  <meyering@lucent.com>
30973
30974         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
30975         names don't conflict.  Reported by Eli Zaretskii.
30976
30977 2000-04-07  Jim Meyering  <meyering@lucent.com>
30978
30979         * lib/putenv.c: Move inclusion of errno.h so it follows that of
30980         sys/types.h, to work around system header problems on AIX 3.2.5.
30981         From Bruno Haible.
30982
30983 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
30984
30985         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
30986         bug.  Deal with the different error behavior of Irix iconv.
30987
30988 2000-04-05  Paul Eggert  <eggert@twinsun.com>
30989
30990         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
30991         IRIX if the installer said otherwise.
30992
30993 2000-04-05  Jim Meyering  <meyering@lucent.com>
30994
30995         Portability tweaks required for ultrix4.3.
30996         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
30997         (jm_CHECK_DECLS): Add getutent to the list of functions.
30998         (_jm_DECL_HEADERS): Add utmpx.h.
30999         From John David Anglin.
31000
31001         * m4/strftime.m4: Back out the 2000-04-02 change.
31002         Instead of that change, simply undefine putenv in the test program.
31003
31004 2000-04-05  Jim Meyering  <meyering@lucent.com>
31005
31006         Portability tweaks required for ultrix4.3.
31007         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
31008         getutent.
31009         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
31010         * lib/canon-host.c: Declare strdup.
31011         * lib/path-concat.c: Likewise.
31012         From John David Anglin.
31013
31014 2000-04-04  Jim Meyering  <meyering@lucent.com>
31015
31016         Be more DOS 8.3-friendly.
31017         * lib/ref-add.sin: Renamed from ref-add.sed.in.
31018         * lib/ref-del.sin: Renamed from ref-del.sed.in.
31019         * lib/Makefile.am: Reflect renaming.
31020         Reported by Eli Zaretskii.
31021
31022         Use a temporary file name that won't clash with `charset.alias'
31023         in the DOS 8.3 name space.
31024         * lib/Makefile.am (charset_tmp): Define.
31025         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
31026         (uninstall-local): Likewise.
31027         Reported by Eli Zaretskii.
31028
31029 2000-04-03  Jim Meyering  <meyering@lucent.com>
31030
31031         * m4/gettext.m4: Fix typo in comment.
31032
31033         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
31034         textutils/configure.in).  Suggestion from Paul Eggert.
31035         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
31036
31037 2000-04-02  Paul Eggert  <eggert@twinsun.com>
31038
31039         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
31040         variable in the shell rather than using putenv, which isn't
31041         portable.  This avoids the configure-time inter-test dependency
31042         on the potentially-renamed putenv function.
31043
31044 2000-03-30  Paul Eggert  <eggert@twinsun.com>
31045
31046         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
31047         before checking struct stat.st_blksize, so that
31048         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
31049
31050 2000-03-29  Paul Eggert  <eggert@twinsun.com>
31051
31052         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
31053         since strftime.c uses HAVE_STRFTIME to decide whether to use
31054         the underlying strftime.
31055
31056 2000-03-29  Paul Eggert  <eggert@twinsun.com>
31057
31058         * lib/time/strftime.c (my_strftime): Make sure we call the system
31059         strftime, not ourselves, when invoking the underlying strftime.
31060
31061 2000-03-24  Jim Meyering  <meyering@lucent.com>
31062
31063         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
31064         (charset_alias): Define.
31065         (install-exec-local): Factor out common code.
31066         (uninstall-local): Split lines longer than 80.
31067         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
31068         (SUFFIXES): Define.
31069         (.sed.in.sed): New rule.  Don't redirect directly to $@.
31070         (CLEANFILES): Add ref-add.sed and ref-del.sed.
31071
31072 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
31073
31074         * lib/config.charset: Output a line containing "Packages using this
31075         file".
31076         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
31077         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
31078         ref-del.sed): New rules.
31079
31080 2000-03-17  Jim Meyering  <meyering@lucent.com>
31081
31082         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
31083         Otherwise, include <strings.h>
31084
31085 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
31086
31087         * lib/unicodeio.c (utf8_wctomb): New function.
31088         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
31089         format instead of in UCS-4 with platform dependent endianness.
31090
31091 2000-03-10  Jim Meyering  <meyering@lucent.com>
31092
31093         * m4/lib-check.m4: Look for getspnam in -lgen, too.
31094         From Marco Franzen.
31095
31096 2000-03-07  Paul Eggert  <eggert@twinsun.com>
31097
31098         * lib/savedir.c (savedir): Work even if directory size is
31099         negative; this can happen with some screwy NFS configurations.
31100
31101 2000-03-06  Jim Meyering  <meyering@lucent.com>
31102
31103         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
31104         if it's NULL (because we ran out of memory).  From Bruno Haible.
31105
31106 2000-03-05  Jim Meyering  <meyering@lucent.com>
31107
31108         * lib/localcharset.c ("path-concat.h"): Include.
31109         (get_charset_aliases): Use path_concat instead of ANSI string
31110         concatenation.
31111
31112         * lib/unicodeio.h (PARAMS): Define.
31113         Use it to guard prototype.
31114
31115 2000-03-04  Jim Meyering  <meyering@lucent.com>
31116
31117         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
31118         for lib/localcharset.c.
31119
31120 2000-03-04  Jim Meyering  <meyering@lucent.com>
31121
31122         * lib/Makefile.am (install-exec-local): Create $(libdir) before
31123         installing into it.
31124         (uninstall-local): Uncomment this rule so `make distcheck' works
31125         once again.
31126
31127         * lib/unicodeio.c (<errno.h>): Include it.
31128         (errno): Declare if not defined.
31129
31130         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
31131
31132         * lib/config.charset: New version, incorporating remarks from a linux
31133         i18n mailing list.  From Bruno Haible.
31134
31135 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
31136
31137         * m4/codeset.m4: New file.
31138         * m4/iconv.m4: New file.
31139         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
31140
31141 2000-03-03  Jim Meyering  <meyering@lucent.com>
31142
31143         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
31144
31145 2000-03-02  Jim Meyering  <meyering@lucent.com>
31146
31147         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
31148         the messages come out on separate lines.
31149
31150         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
31151         rather than jm_CHECK_DECLARATIONS.
31152         * m4/decl.m4: Remove now-unused file.
31153
31154         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
31155         geteuid.
31156
31157 2000-03-02  Jim Meyering  <meyering@lucent.com>
31158
31159         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
31160
31161 2000-03-01  Jim Meyering  <meyering@lucent.com>
31162
31163         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
31164         * lib/unicodeio.c: Likewise.
31165
31166 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
31167
31168         * lib/config.charset: New file.
31169         * lib/localcharset.c: New file.
31170         * lib/unicodeio.h, lib/unicodeio.c: New files.
31171         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
31172         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
31173         (noinst_HEADERS): Add unicodeio.h.
31174         (all-local, install-exec-local, charset.alias): New targets.
31175
31176 2000-02-28  Paul Eggert  <eggert@twinsun.com>
31177
31178         * lib/quotearg.c (ALERT_CHAR): New macro.
31179         (quotearg_buffer_restyled): Use it.
31180
31181 2000-02-27  Jim Meyering  <meyering@lucent.com>
31182
31183         * m4/check-decl.m4: Add getenv to the list.
31184
31185 2000-02-27  Jim Meyering  <meyering@lucent.com>
31186
31187         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
31188         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
31189
31190         * lib/backupfile.c: Guard inclusion of stdlib.h with
31191         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
31192         Declare malloc if needed.
31193
31194         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
31195         `#ifndef HAVE_DECL..'
31196         now that autoconf always defines the HAVE_DECL_ symbols.
31197         * lib/human.c: Likewise.
31198         * lib/same.c: Likewise.
31199         * lib/strtoumax.c: Likewise.
31200
31201         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
31202         declaration check was not run.
31203         * lib/hash.c: Likewise.
31204         * lib/human.c: Likewise.
31205         * lib/same.c: Likewise.
31206         * lib/strtoumax.c: Likewise.
31207
31208         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
31209         `.', then first look up the entire `.'-containing string as a login
31210         name.
31211
31212 2000-02-23  Jim Meyering  <meyering@lucent.com>
31213
31214         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
31215         in place of my hack.
31216
31217 2000-02-18  Paul Eggert  <eggert@twinsun.com>
31218
31219         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
31220         (textint): New typedef.
31221         (parser_control): Member year changed from int to textint.
31222         All uses changed.
31223         (YYSTYPE): Removed; replaced by %union with int and textint members.
31224         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
31225         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
31226         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
31227         (tSNUMBER, tUNUMBER): Now of type <textintval>.
31228         (date, number, to_year): Use width of number in digits, not its value,
31229         to determine whether it's a 2-digit year, or a 2-digit time.
31230         (yylex): Store number of digits of numeric tokens.
31231         Reported by John Kendall.
31232
31233         (parser_control): Changed from struct parser_control to typedef (for
31234         consistency).  All uses changed.
31235
31236         (tID): Removed; not used.
31237         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
31238
31239 2000-02-14  Paul Eggert  <eggert@twinsun.com>
31240
31241         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
31242         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
31243
31244 2000-02-12  Jim Meyering  <meyering@lucent.com>
31245
31246         * lib/userspec.c (ISDIGIT): Define it.
31247         (isdigit): Remove definition.
31248         (is_number): Use ISDIGIT, not isdigit.
31249         <libintl.h>: Include.
31250         (_ and N_): Define.
31251         (parse_user_spec): Mark translatable strings.
31252
31253 2000-02-10  Jim Meyering  <meyering@lucent.com>
31254
31255         With these changes, nanosleep.[ch] are finally enough like the other
31256         lib/* replacement files to compile on a few more losing systems.
31257
31258         * lib/nanosleep.h: Don't include config.h.
31259         Remove prototype from declaration of nanosleep.
31260         (PARAMS): Remove now-unneeded definition.
31261         * lib/nanosleep.c: #undef nanosleep.
31262         (rpl_nanosleep): Rename from nanosleep.
31263
31264 2000-02-10  Jim Meyering  <meyering@lucent.com>
31265
31266         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
31267         gnu_nanosleep to rpl_nanosleep.
31268
31269 2000-02-09  Jim Meyering  <meyering@lucent.com>
31270
31271         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
31272         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
31273
31274 2000-02-08  Akim Demaille  <akim@epita.fr>
31275
31276         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
31277         `[' and `]' and remove uses of `changequote'.
31278         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
31279         (AC_SYS_LARGEFILE): Likewise.
31280         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
31281         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
31282         of changequote.
31283         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
31284         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
31285         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
31286         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
31287
31288 2000-02-05  Jim Meyering  <meyering@lucent.com>
31289
31290         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
31291         Remove explicit use of AC_HEADER_TIME.  It is required by
31292         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
31293         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
31294         in autoconf whereby the expansion of the latter ended up preceding
31295         the expansion of its prerequisite, AC_HEADER_TIME.
31296         Reported by Volker Borchert.
31297
31298 2000-02-03  Jim Meyering  <meyering@lucent.com>
31299
31300         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
31301
31302 2000-02-03  Jim Meyering  <meyering@lucent.com>
31303
31304         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
31305         rather than with `#if HAVE_UTMPNAME'.
31306
31307 2000-02-02  Jim Meyering  <meyering@lucent.com>
31308
31309         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
31310         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
31311         Reported by Eli Zaretskii.
31312
31313 2000-02-01  Jim Meyering  <meyering@lucent.com>
31314
31315         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
31316
31317 2000-01-31  Jim Meyering  <meyering@lucent.com>
31318
31319         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
31320         functions.  Add the time.h and sys/time.h headers along with the
31321         AC_REQUIRE'ment of AC_HEADER_TIME.
31322
31323 2000-01-31  Jim Meyering  <meyering@lucent.com>
31324
31325         * lib/nanosleep.h (nanosleep): Guard declaration with
31326         `#if ! HAVE_DECL_NANOSLEEP'.
31327         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
31328         the declaration in that vendor's sys/timers.h.
31329         Reported by Christian Krackowizer.
31330
31331         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
31332         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
31333         (ISPRINT): Likewise.
31334         Reported by Tom Tromey.
31335
31336 2000-01-30  Jim Meyering  <meyering@lucent.com>
31337
31338         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
31339
31340         * m4/prereq.m4 (utmp_includes): Define.
31341         Check for ut_user and ut_name members in both struct utmpx
31342         and struct utmp.
31343
31344 2000-01-30  Jim Meyering  <meyering@lucent.com>
31345
31346         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
31347         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
31348         header files where only utmpx.ut_user is declared.
31349
31350         * lib/readutmp.h (UT_USER): Define.
31351
31352 2000-01-29  Jim Meyering  <meyering@lucent.com>
31353
31354         * m4/lib-check.m4: New file containing library-related checks from
31355         fileutils and sh-utils (textutils had none).
31356
31357 2000-01-28  Jim Meyering  <meyering@lucent.com>
31358
31359         * m4/perl.m4: Change format of warning message to look more like that
31360         from the missing script.  Suggestion from François Pinard.
31361
31362 2000-01-25  Jim Meyering  <meyering@lucent.com>
31363
31364         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
31365         well as time.h in the compile check.
31366         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
31367         Fix typo in cross-compiling case: s/yes/no/.
31368
31369 2000-01-23  Jim Meyering  <meyering@lucent.com>
31370
31371         * m4/jm-macros.m4: Move df-related tests here from
31372         fileutils/configure.in
31373
31374         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
31375         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
31376
31377         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
31378         s/space/ac_fsusage_space/.
31379         (jm_FILE_SYSTEM_USAGE): Take two parameters.
31380
31381         * m4/ftruncate.m4: New file (derived from part of
31382         fileutils/configure.in).
31383         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
31384         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
31385
31386         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
31387         AC_SUBST these here, rather than just in sh-util/configure.in, so
31388         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
31389         all the same.
31390         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
31391         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
31392         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
31393         (AC_SUBST(POW_LIBM)): Likewise.
31394         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
31395
31396 2000-01-23  Jim Meyering  <meyering@lucent.com>
31397
31398         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
31399         obstack.c.
31400
31401 2000-01-22  Jim Meyering  <meyering@lucent.com>
31402
31403         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
31404
31405         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
31406
31407         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
31408         configure.in
31409         (AC_CHECK_HEADERS): Likewise for sh-utils.
31410         (AC_CHECK_HEADERS): Likewise for textutils.
31411         Merge the three lists of headers.
31412
31413         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
31414         from fileutils' configure.in.
31415
31416         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
31417         code. Moved tests into their own function (_jm_DECL_HEADERS) in
31418         check-decl.m4.
31419
31420         * m4/check-decl.m4: Use #if rather than #ifdef.
31421         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
31422         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
31423         (_jm_DECL_HEADERS): Define new function.
31424         (jm_CHECK_DECLARATIONS): Require it.
31425
31426 2000-01-22  Jim Meyering  <meyering@lucent.com>
31427
31428         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
31429         [! HAVE_DECL_STRTOULL]: Declare strtoull.
31430         Required for some AIX systems.  Reported by Christian Krackowizer.
31431         [TESTING] (main): New function.
31432
31433         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
31434         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
31435         letters.
31436
31437         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
31438         iswprint.
31439
31440         * lib/strverscmp.c (ISDIGIT): Define.
31441         (strverscmp): Use ISDIGIT, not isdigit.
31442
31443 2000-01-19  Jim Meyering  <meyering@lucent.com>
31444
31445         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
31446         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
31447         defines `struct timespec' in <sys/time.h>
31448
31449         * m4/c-bs-a.m4: Remove uses of changequote altogether.
31450         Thanks to Akim for explaining.
31451
31452 2000-01-17  Paul Eggert  <eggert@twinsun.com>
31453
31454         * lib/nanosleep.c (nanosleep):
31455         Don't use SA_INTERRUPT to decide whether to call sigaction, as
31456         POSIX.1 doesn't require SA_INTERRUPT and some systems
31457         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
31458         it's been part of POSIX.1 since day 1 (in 1988).
31459
31460 2000-01-17  Jim Meyering  <meyering@lucent.com>
31461
31462         * lib/interlock: Remove unused file.  Reported by François Pinard.
31463
31464 2000-01-16  Paul Eggert  <eggert@twinsun.com>
31465
31466         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
31467         alert, backslash, formfeed, and vertical tab unnecessarily in
31468         shell quoting style.
31469
31470 2000-01-16  Jim Meyering  <meyering@lucent.com>
31471
31472         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
31473         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
31474         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
31475         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
31476
31477 2000-01-16  Jim Meyering  <meyering@lucent.com>
31478
31479         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
31480         because the latter didn't work.
31481
31482 2000-01-15  Jim Meyering  <meyering@lucent.com>
31483
31484         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
31485         (AC_REPLACE_FUNCS): Add memcpy and memset.
31486         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
31487         Add strpbrk.
31488         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
31489
31490 2000-01-12  Jim Meyering  <meyering@lucent.com>
31491
31492         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
31493         (jm_PREREQ): Use it.
31494         (jm_PREREQ_READUTMP): New macro.
31495         (jm_PREREQ): Use it.
31496
31497 2000-01-11  Paul Eggert  <eggert@twinsun.com>
31498
31499         Quote multibyte characters correctly.
31500         * m4/c-bs-a.m4: New file.
31501         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
31502         (jm_PREREQ): Use it.
31503
31504 2000-01-11  Paul Eggert  <eggert@twinsun.com>
31505
31506         * m4/uintmax_t.m4: Port to autoconf 2.13.
31507
31508 2000-01-08  Jim Meyering  <meyering@ascend.com>
31509
31510         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
31511         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
31512
31513 2000-01-04  Jim Meyering  <meyering@ascend.com>
31514
31515         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
31516         jm_STRUCT_DIRENT_D_TYPE.
31517         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
31518         jm_STRUCT_DIRENT_D_INO.
31519         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
31520         jm_STRUCT_UTIMBUF.
31521         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
31522         renamings.
31523         * m4/utime.m4: Likewise.
31524
31525         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
31526         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
31527
31528 2000-01-03  Paul Eggert  <eggert@twinsun.com>
31529
31530         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
31531         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
31532
31533 2000-01-02  Jim Meyering  <meyering@ascend.com>
31534
31535         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
31536         remember if this is necessary.
31537
31538 1999-12-26  Jim Meyering  <meyering@ascend.com>
31539
31540         * m4/jm-macros.m4: Use it here.
31541         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
31542
31543 1999-12-23  Jim Meyering  <meyering@ascend.com>
31544
31545         * m4/jm-macros.m4: Check for clock_gettime (moved from
31546         fileutils/configure.in)
31547         Check for gettimeofday.
31548
31549 1999-12-20  Jim Meyering  <meyering@ascend.com>
31550
31551         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
31552         autoconf-2.14a-1999-12-20.
31553
31554 1999-12-19  Jim Meyering  <meyering@ascend.com>
31555
31556         * m4/lstat-slash.m4: New file.
31557         * m4/jm-macros.m4: Use the new macro:
31558         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
31559
31560 1999-12-07  Jim Meyering  <meyering@ascend.com>
31561
31562         * m4/perl.m4: Require that File::Compare be available, too.
31563         Too many systems seem to lack it.
31564
31565         * m4/strftime.m4: Add checks for most of the cpp macros tested in
31566         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
31567
31568 1999-11-18  Paul Eggert  <eggert@twinsun.com>
31569
31570         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
31571         problem with the QNX 4.25 shell, which doesn't propagate exit
31572         status of failed commands inside shell assignments.
31573
31574 1999-11-17  Jim Meyering  <meyering@ascend.com>
31575
31576         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
31577
31578 1999-11-07  Jim Meyering  <meyering@ascend.com>
31579
31580         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
31581
31582 1999-11-06  Jim Meyering  <meyering@ascend.com>
31583
31584         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
31585         * m4/jm-macros.m4 (jm_MACROS): Use it here.
31586
31587 1999-11-05  Jim Meyering  <meyering@ascend.com>
31588
31589         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
31590         configure.in of textutils, fileutils, and sh-utils into this one
31591         (shared between those packages) file.
31592         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
31593         AC_STRUCT_ST_BLKSIZE.
31594
31595 1999-11-03  Jim Meyering  <meyering@ascend.com>
31596
31597         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
31598         of AC_CHECK_TYPE checks includes unistd.h.
31599         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
31600         Suggestion from Akim Demaille.
31601
31602 1999-10-30  Jim Meyering  <meyering@ascend.com>
31603
31604         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
31605         m4-quoted string.
31606         * m4/ls-mntd-fs.m4: Likewise.
31607         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
31608         * m4/jm-winsz1.m4: Likewise.
31609
31610         * m4/const.m4: Remove file, since the fix made it into the experimental
31611         version of autoconf.
31612         * m4/mktime.m4: Likewise.
31613
31614         * m4/check-type.m4: Remove file, now that the latest version of
31615         AC_CHECK_TYPE takes a third arg to specify additional #includes.
31616
31617         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
31618         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
31619         AC_CHECK_TYPE.
31620
31621 1999-10-04  Jim Meyering  <meyering@ascend.com>
31622
31623         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
31624
31625 1999-09-22  Paul Eggert  <eggert@twinsun.com>
31626
31627         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
31628         2.95.1 bug with HP-UX 10.20.
31629
31630 1999-09-17  Jim Meyering  <meyering@ascend.com>
31631
31632         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
31633         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
31634         due to missing strdup (against sh-utils-2.0).
31635
31636 1999-08-29  Jim Meyering  <meyering@ascend.com>
31637
31638         * m4/jm-macros.m4: Require jm_BISON.
31639         * m4/bison.m4: New file.
31640
31641 1999-08-17  Paul Eggert  <eggert@twinsun.com>
31642
31643         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
31644         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
31645
31646 1999-08-05  Jim Meyering  <meyering@ascend.com>
31647
31648         * m4/getline.m4: Rename test file from conftestdata to conftest.data
31649         to avoid conflicts with `conftest' on 8+3 filesystems.
31650         Suggestion from Eli Zaretskii.
31651
31652 1999-08-04  Jim Meyering  <meyering@ascend.com>
31653
31654         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
31655         fileutils and sh-utils (textutils's getline test was inadequate).
31656         (AM_FUNC_GETLINE): Run this test.
31657         (AC_CHECK_FUNCS): Check for getdelim.
31658         Reported by Bob Proulx.
31659
31660 1999-08-02  Jim Meyering  <meyering@ascend.com>
31661
31662         * m4/jm-macros.m4: Add a comment.
31663
31664 1999-08-01  Paul Eggert  <eggert@twinsun.com>
31665
31666         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
31667         <inttypes.h> defines strtoumax as a macro (and not as a
31668         function).
31669
31670 1999-08-01  Paul Eggert  <eggert@twinsun.com>
31671
31672         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
31673         that we can shift, multiply and divide unsigned long long
31674         values; Ultrix cc can't do it.
31675
31676 1999-08-01  Paul Eggert  <eggert@twinsun.com>
31677
31678         * m4/mktime.m4: New file, which is a preview of what should appear
31679         in the next public autoconf release.
31680
31681 1999-08-01  Paul Eggert  <eggert@twinsun.com>
31682
31683         * m4/lfs.m4: Remove this file.
31684         * m4/largefile.m4: New file.  It contains the old contents of
31685         lfs.m4, except that all names with prefix AC_LFS have been
31686         changed to use the prefix AC_SYS_LARGEFILE instead, to be
31687         compatible with future autoconf versions.  Also, some minor m4
31688         quoting problems have been fixed.
31689
31690 1999-08-01  Paul Eggert  <eggert@twinsun.com>
31691
31692         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
31693         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
31694         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
31695         and simplify the shell code.
31696
31697 1999-08-01  Jim Meyering  <meyering@ascend.com>
31698
31699         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
31700         m4.
31701
31702 1999-07-20  Jim Meyering  <meyering@ascend.com>
31703
31704         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
31705
31706 1999-07-15  Jim Meyering  <meyering@ascend.com>
31707
31708         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
31709
31710 1999-05-22  Jim Meyering  <meyering@ascend.com>
31711
31712         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
31713
31714 1999-05-20  Jim Meyering  <meyering@ascend.com>
31715
31716         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
31717         Add a colon after each `then' in case $4 is empty.
31718
31719 1999-05-16  Jim Meyering  <meyering@ascend.com>
31720
31721         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
31722
31723 1999-05-10  Jim Meyering  <meyering@ascend.com>
31724
31725         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
31726
31727         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
31728         AC_FUNC_MKTIME.
31729
31730 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
31731
31732         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
31733
31734 1999-05-04  Paul Eggert  <eggert@twinsun.com>
31735
31736         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
31737         not CPPFLAGS, so that linking works correctly in IRIX.
31738
31739 1999-04-30  Paul Eggert  <eggert@twinsun.com>
31740
31741         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
31742
31743 1999-04-20  Paul Eggert  <eggert@twinsun.com>
31744
31745         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
31746         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
31747         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
31748         jm_AC_TYPE_UNSIGNED_LONG_LONG.
31749         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
31750
31751         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
31752
31753 1999-04-20  Jim Meyering  <meyering@ascend.com>
31754
31755         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
31756         AC_REPLACE xstroull if necessary.  From Paul Eggert.
31757         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
31758
31759 1999-04-18  Jim Meyering  <meyering@ascend.com>
31760
31761         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
31762         * m4/jm-macros.m4: Use it.
31763
31764 1999-04-06  Jim Meyering  <meyering@ascend.com>
31765
31766         * m4/strftime.m4: Remove test for %f.
31767
31768 1999-03-29  Jim Meyering  <meyering@ascend.com>
31769
31770         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
31771         superset of the AC_TYPE_* checks in the textutils, fileutils,
31772         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
31773         AC_TYPE_PID_T.
31774
31775 1999-03-28  Jim Meyering  <meyering@ascend.com>
31776
31777         * m4/jm-macros.m4: Define GNU_PACKAGE here.
31778         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
31779         replaced e.g., in the *.sh files of the sh-utils.
31780
31781 1999-03-20  Jim Meyering  <meyering@ascend.com>
31782
31783         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
31784         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
31785         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
31786
31787 1999-03-19  Jim Meyering  <meyering@ascend.com>
31788
31789         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
31790
31791 1999-03-12  Jim Meyering  <meyering@ascend.com>
31792
31793         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
31794
31795 1999-03-07  Jim Meyering  <meyering@ascend.com>
31796
31797         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
31798         declared.
31799
31800 1999-02-17  Jim Meyering  <meyering@ascend.com>
31801
31802         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
31803         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
31804
31805 1999-02-07  Jim Meyering  <meyering@ascend.com>
31806
31807         * m4/group-member.m4: New file -- extracted from sh-utils'
31808         configure.in.
31809
31810         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
31811         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
31812
31813 1999-02-06  Jim Meyering  <meyering@ascend.com>
31814
31815         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
31816         * m4/fnmatch.m4: Likewise.
31817         * m4/getgroups.m4: Likewise.
31818         * m4/lstat.m4: Likewise.
31819         * m4/malloc.m4: Likewise.
31820         * m4/putenv.m4: Likewise.
31821         * m4/realloc.m4: Likewise.
31822         * m4/regex.m4: Likewise.
31823         * m4/stat.m4: Likewise.
31824         * m4/strftime.m4: Likewise.
31825         Suggestion from Alain Magloire.
31826
31827         * m4/chown.m4: Use `.$ac_objext', not `.o'.
31828         * m4/fnmatch.m4: Likewise.
31829         * m4/getgroups.m4: Likewise.
31830         * m4/getline.m4: Likewise.
31831         * m4/lstat.m4: Likewise.
31832         * m4/malloc.m4: Likewise.
31833         * m4/memcmp.m4: Likewise.
31834         * m4/putenv.m4: Likewise.
31835         * m4/realloc.m4: Likewise.
31836         * m4/regex.m4: Likewise.
31837         * m4/stat.m4: Likewise.
31838         * m4/strftime.m4: Likewise.
31839         Suggestion from Alain Magloire.
31840
31841         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
31842         an argument.
31843
31844         * m4/regex.m4: Add a run-time Test for proper operation of
31845         re_compile_pattern.
31846
31847 1999-01-31  Jim Meyering  <meyering@ascend.com>
31848
31849         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
31850
31851 1999-01-30  Jim Meyering  <meyering@ascend.com>
31852
31853         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
31854
31855         * m4/jm-mktime.m4: Make this a wrapper around the official
31856         AM_FUNC_MKTIME rather than my private copy, now that the official one
31857         is up to date.
31858         * m4/mktime.m4: Remove file.
31859
31860         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
31861         * m4/uptime.m4: Likewise.
31862         * m4/uintmax_t.m4: Likewise.
31863
31864 1999-01-28  Jim Meyering  <meyering@ascend.com>
31865
31866         * m4/jm-macros.m4: Use jm_AFS.
31867         * m4/afs.m4: New file (from fileutils' configure.in).
31868
31869         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
31870         * m4/chown.m4: Likewise.
31871         * m4/d-ino.m4: Likewise.
31872         * m4/d-type.m4: Likewise.
31873         * m4/fnmatch.m4: Likewise.
31874         * m4/getgroups.m4: Likewise.
31875         * m4/gettext.m4: Likewise.
31876         * m4/jm-mktime.m4: Likewise.
31877         * m4/jm-winsz2.m4: Likewise.
31878         * m4/lcmessage.m4: Likewise.
31879         * m4/ls-mntd-fs.m4: Likewise.
31880         * m4/malloc.m4: Likewise.
31881         * m4/memcmp.m4: Likewise.
31882         * m4/putenv.m4: Likewise.
31883         * m4/realloc.m4: Likewise.
31884         * m4/st_mtim.m4: Likewise.
31885         * m4/strftime.m4: Likewise.
31886
31887 1999-01-16  Jim Meyering  <meyering@ascend.com>
31888
31889         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
31890         (ARGMATCH_DIE_DECL): Define.
31891
31892 1999-01-12  Jim Meyering  <meyering@ascend.com>
31893
31894         * m4/Makefile.am.in: Rewrite to avoid using fmt.
31895         Reported by Lars Hecking.
31896
31897 1999-01-10  Jim Meyering  <meyering@ascend.com>
31898
31899         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
31900         gross kludge.
31901         * m4/inttypes_h.m4: Likewise.
31902         * m4/lstat.m4: Likewise.
31903         * m4/malloc.m4: Likewise.
31904         * m4/readdir.m4: Likewise.
31905         * m4/realloc.m4: Likewise.
31906         * m4/st_dm_mode.m4: Likewise.
31907         * m4/stat.m4: Likewise.
31908         * m4/utimbuf.m4: Likewise.
31909         * m4/utimes.m4: Likewise.
31910
31911         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
31912         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
31913         comments in config.h.in are meaningful.
31914
31915         * m4/jm-macros.m4: Require autoconf-2.13 here.
31916
31917         * m4/regex.m4: By default, don't use the included regex.c on systems
31918         with glibc 2.  Suggestion from Uli Drepper.
31919
31920 1999-01-02  Jim Meyering  <meyering@ascend.com>
31921
31922         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
31923
31924 1998-12-18  Jim Meyering  <meyering@ascend.com>
31925
31926         * m4/Makefile.am.in (Makefile.am): Simplify rule.
31927         Based on a suggestion from Lars Hecking.
31928
31929 1998-11-16  Paul Eggert  <eggert@twinsun.com>
31930
31931         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
31932
31933 1998-11-16  Jim Meyering  <meyering@ascend.com>
31934
31935         * m4/lfs.m4: Double-quote the `uname...` expression.
31936
31937 1998-11-14  Jim Meyering  <meyering@ascend.com>
31938
31939         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
31940         * m4/stat.m4: Likewise.
31941
31942 1998-11-03  Jim Meyering  <meyering@ascend.com>
31943
31944         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
31945         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
31946
31947 1998-10-18  Jim Meyering  <meyering@ascend.com>
31948
31949         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
31950
31951 1998-10-17  Jim Meyering  <meyering@ascend.com>
31952
31953         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
31954         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
31955         calls for those previously hard-coded headers.  Instead, take a new
31956         parameter.
31957         (jm_CHECK_DECLARATIONS): Reflect interface change.
31958         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
31959         (jm_CHECK_DECL_LOCALTIME_R): New macro.
31960
31961         * m4/mktime.m4: Test for spring-forward gap before long-running test.
31962
31963 1998-10-14  Jim Meyering  <meyering@ascend.com>
31964
31965         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
31966         instead of "TZ=America/Vancouver".  From Paul Eggert.
31967
31968 1998-10-11  Jim Meyering  <meyering@ascend.com>
31969
31970         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
31971         This adds a test for a recently added compatibility fix for mktime.c.
31972         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
31973
31974 1998-09-27  Jim Meyering  <meyering@ascend.com>
31975
31976         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
31977
31978         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
31979         ../configure.in, including a change from Gordon Matzigkeit to allow
31980         cross-compiling for the Hurd.
31981
31982         * m4/glibc.m4: New file/macro to test for the GNU C Library
31983         versions 1 and 2.  From Gordon Matzigkeit.
31984         Indent.
31985
31986 1998-09-21  Jim Meyering  <meyering@ascend.com>
31987
31988         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
31989
31990 1998-08-18  Paul Eggert  <eggert@twinsun.com>
31991
31992         Port nanosecond-resolution times to UnixWare 2.1.2 and
31993         pedantic Solaris 2.6.
31994
31995         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
31996         AC_STRUCT_ST_MTIM.
31997         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
31998         Generate name of ns member, instead of just 1 or undef.
31999         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
32000
32001 1998-08-15  Jim Meyering  <meyering@ascend.com>
32002
32003         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
32004         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
32005         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
32006         instead of jm_TYPE_SSIZE_T.
32007
32008 1998-08-12  Jim Meyering  <meyering@ascend.com>
32009
32010         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
32011
32012 1998-08-02  Jim Meyering  <meyering@ascend.com>
32013
32014         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
32015         in acconfig.h manually.
32016
32017 1998-07-31  Paul Eggert  <eggert@twinsun.com>
32018
32019         * m4/st_mtim.m4: New file.
32020
32021 1998-07-28  Jim Meyering  <meyering@ascend.com>
32022
32023         * m4/utimes.m4: Undef stat.
32024
32025 1998-07-25  Jim Meyering  <meyering@ascend.com>
32026
32027         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
32028         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
32029
32030 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
32031
32032         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
32033         uid and gid actually remain unchanged.
32034
32035 1998-07-07  Jim Meyering  <meyering@ascend.com>
32036
32037         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
32038
32039 1998-07-04  Jim Meyering  <meyering@ascend.com>
32040
32041         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
32042         to prove that this macro can be used in packages without regex.c.
32043
32044 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
32045
32046         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
32047         is to be used.
32048
32049 1998-07-03  Jim Meyering  <meyering@ascend.com>
32050
32051         * m4/gettext.m4: Add -lintl if it's found to be necessary.
32052
32053         * m4/gettext.m4: New file -- from gettext-0.10.35.
32054         * m4/lcmessage.m4: Likewise.
32055         * m4/progtest.m4: Likewise.
32056
32057         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
32058         * m4/jm-macros.m4: Require the new macro.
32059
32060 1998-06-29  Jim Meyering  <meyering@ascend.com>
32061
32062         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
32063         for the definition of NGROUPS (used in a system header included
32064         by sys/mount.h).
32065
32066 1998-06-28  Jim Meyering  <meyering@ascend.com>
32067
32068         * m4/ls-mntd-fs.m4: New file.
32069         * m4/fstypename.m4: New file.
32070
32071         * m4/jm-macros.m4: Require the new macro.
32072         * m4/jm-glibc-io.m4: New file.
32073
32074 1998-05-19  Jim Meyering  <meyering@ascend.com>
32075
32076         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
32077         * m4/lchown.m4: New file.
32078
32079         * m4/Makefile.am.in: New file.
32080         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
32081
32082 1998-05-14  Jim Meyering  <meyering@ascend.com>
32083
32084         * m4/Makefile.am (EXTRA_DIST): Add them.
32085         * m4/jm-macros.m4: New file.
32086         * m4/utimbuf.m4: New file.
32087
32088 1998-05-12  Jim Meyering  <meyering@ascend.com>
32089
32090         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
32091
32092 1998-05-11  Jim Meyering  <meyering@ascend.com>
32093
32094         * m4/isc-posix.m4: New file.
32095
32096 1998-05-10  Jim Meyering  <meyering@ascend.com>