9d0e72d77b5f3f847668d530a4906f8d7c216a5f
[gnulib.git] / ChangeLog
1 2007-07-13  Bruno Haible  <bruno@clisp.org>
2
3         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
4         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
5
6 2007-07-13  Jim Meyering  <jim@meyering.net>
7
8         df: Don't fail for Tru64's "file-on-file mount".
9         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
10         so we fall through and use statfs instead.  Details here:
11         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
12         Reported by Albert Chin.
13
14 2007-07-13  Bruno Haible  <bruno@clisp.org>
15
16         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
17         * modules/configmake (License): Likewise.
18         * modules/gettext (License): Likewise.
19         * modules/gettext-h (License): Likewise.
20         * modules/include_next (License): Likewise.
21         * modules/link-warning (License): Likewise.
22         * modules/localcharset (License): Likewise.
23         * modules/localename (License): Likewise.
24         * modules/lock (License): Likewise.
25         * modules/relocatable-lib-lgpl (License): Likewise.
26         * modules/size_max (License): Likewise.
27         * modules/vasnprintf (License): Likewise.
28         * modules/wchar (License): Likewise.
29         * modules/xsize (License): Likewise.
30
31 2007-07-13  Bruno Haible  <bruno@clisp.org>
32
33         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
34         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
35
36 2007-07-12  Bruno Haible  <bruno@clisp.org>
37
38         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
39         in the modules files.
40
41 2007-07-11  Karl Berry  <karl@gnu.org>
42
43         * MODULES.html.sh (func_module): use
44          sed -e '\|^'"${includefile}"'$|d'
45          instead of /.../d, to avoid errors on $includefile's containing /.
46
47 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
48
49         * gnulib-tool (func_import): Avoid duplication of --avoid
50         statements
51         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
52         names to `_' in variable names.
53
54 2007-07-10  Eric Blake  <ebb9@byu.net>
55
56         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
57         * NEWS: Document this change.
58
59 2007-07-08  Bruno Haible  <bruno@clisp.org>
60
61         Update to Unicode 5.0.
62         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
63         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
64         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
65         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
66         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
67         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
68         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
69         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
70         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
71         U+10A3F, U+1D242..U+1D244.
72         (nonspacing_table_ind): Update.
73         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
74         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
75
76 2007-07-08  Bruno Haible  <bruno@clisp.org>
77
78         Update to Unicode 5.0.
79         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
80         code transform. Extend the name index field of unicode_name_to_code and
81         unicode_code_to_name from 16 to 24 bits.
82         * lib/uniname/uniname.c (unicode_character_name,
83         unicode_name_character): Add the range 0x12xxx to the code transform.
84         * lib/uniname/uninames.h: Regenerated.
85         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
86
87 2007-07-07  Bruno Haible  <bruno@clisp.org>
88
89         * modules/wcwidth-tests: New file.
90         * tests/test-wcwidth.c: New file.
91
92         Work around MacOS X wcwidth() bug.
93         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
94         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
95         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
96         original wcwidth in non-UTF-8 locales.
97         * modules/wcwidth (Depends-on): Add localcharset, streq,
98         uniwidth/width.
99         * doc/functions/wcwidth.texi: Update.
100
101 2007-07-07  Bruno Haible  <bruno@clisp.org>
102
103         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
104         (wcwidth): New declaration.
105         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
106         macros.
107         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
108         here. Prepare for creating <wchar.h> unconditionally.
109         * modules/wchar (Depends-on): Add link-warning.
110         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
111         REPLACE_WCWIDTH, and GL_LINK_WARNING.
112         * lib/wcwidth.h: Remove file.
113         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
114         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
115         * modules/wcwidth (Files): Remove lib/wcwidth.h.
116         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
117         (Include): Replace wcwidth.h with <wchar.h>.
118         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
119         * lib/mbchar.h: Don't include wcwidth.h.
120         * lib/mbswidth.c: Likewise.
121         * NEWS: Mention the change.
122
123 2007-07-07  Bruno Haible  <bruno@clisp.org>
124
125         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
126         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
127         definition with an external declaration.
128         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
129         defined as a function. Remove AC_C_INLINE requirement.
130         * modules/wcwidth (Files): Add lib/wcwidth.c.
131         (Makefile.am): Remove redundant statement.
132
133 2007-07-07  Bruno Haible  <bruno@clisp.org>
134
135         * MODULES.html.sh (Unicode string functions): Add the new modules.
136
137         * tests/uniwidth/test-u32-strwidth.c: New file.
138         * modules/uniwidth/u32-strwidth-tests: New file.
139
140         * lib/uniwidth/u32-strwidth.c: New file.
141         * modules/uniwidth/u32-strwidth: New file.
142
143         * tests/uniwidth/test-u16-strwidth.c: New file.
144         * modules/uniwidth/u16-strwidth-tests: New file.
145
146         * lib/uniwidth/u16-strwidth.c: New file.
147         * modules/uniwidth/u16-strwidth: New file.
148
149         * tests/uniwidth/test-u8-strwidth.c: New file.
150         * modules/uniwidth/u8-strwidth-tests: New file.
151
152         * lib/uniwidth/u8-strwidth.c: New file.
153         * modules/uniwidth/u8-strwidth: New file.
154
155         * tests/uniwidth/test-u32-width.c: New file.
156         * modules/uniwidth/u32-width-tests: New file.
157
158         * lib/uniwidth/u32-width.c: New file.
159         * modules/uniwidth/u32-width: New file.
160
161         * tests/uniwidth/test-u16-width.c: New file.
162         * modules/uniwidth/u16-width-tests: New file.
163
164         * lib/uniwidth/u16-width.c: New file.
165         * modules/uniwidth/u16-width: New file.
166
167         * tests/uniwidth/test-u8-width.c: New file.
168         * modules/uniwidth/u8-width-tests: New file.
169
170         * lib/uniwidth/u8-width.c: New file.
171         * modules/uniwidth/u8-width: New file.
172
173         * tests/uniwidth/test-uc_width.c: New file.
174         * modules/uniwidth/width-tests: New file.
175
176         * lib/uniwidth/width.c: New file, from GNU libiconv.
177         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
178         * modules/uniwidth/width: New file.
179
180         * lib/uniwidth.h: New file, from GNU libiconv.
181         * modules/uniwidth/base: New file.
182
183 2007-07-07  Bruno Haible  <bruno@clisp.org>
184
185         * lib/uniname.h: New file, from GNU gettext.
186         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
187         * lib/uniname/uninames.h: New file, from GNU gettext.
188         * lib/uniname/uniname.c: New file, from GNU gettext.
189         * tests/uniname/test-uninames.sh: New file.
190         * tests/uniname/test-uninames.c: New file, from GNU gettext.
191         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
192         * modules/uniname/base: New file.
193         * modules/uniname/uniname: New file.
194         * modules/uniname/uniname-tests: New file.
195         * MODULES.html.sh (Unicode string functions): Add the new modules.
196
197 2007-07-06  Bruno Haible  <bruno@clisp.org>
198
199         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
200
201 2007-07-06  Bruno Haible  <bruno@clisp.org>
202
203         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
204         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
205         includes <cygwin/sys_time.h> which includes <sys/select.h> which
206         include <sys/time.h>.
207         Reported by Eric Blake.
208
209 2007-07-06  Eric Blake  <ebb9@byu.net>
210
211         Fix testing canonicalize on cygwin.
212         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
213         Revert patch from 2007-06-19.
214         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
215         canonicalize module is also in use.
216         * tests/test-canonicalize.c: New file.
217         * tests/test-canonicalize.sh: Likewise.
218         * modules/canonicalize-tests: Likewise.
219
220 2007-07-06  Jim Meyering  <jim@meyering.net>
221
222         * lib/getugroups.c (getugroups): Detect getgrent failure.
223         Adjust comment to reflect reality: this function may return -1.
224
225 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
226
227         * build-aux/bootstrap (TP_URL,get_translations): Update to use
228         the new TP address.
229         (usage): Fix typo
230         (gnulib_mk): New variable.
231
232 2007-07-05  Jim Meyering  <jim@meyering.net>
233
234         Don't let endgrent clobber errno, no matter how improbable.
235         * lib/getugroups.c (getugroups): Save and restore errno around
236         endgrent call.
237
238         Close the group DB even when failing with 2^31 or more members.
239         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
240
241 2007-07-04  Jim Meyering  <jim@meyering.net>
242
243         * lib/getugroups.h: New file.
244         * lib/getugroups.c: Include "getugroups.h".
245         Remove uses of "register" keyword.
246         Move local variable, "cp", down into scope where used.
247         Give "username" parameter the "const" attribute.
248         * modules/getugroups (Files): Add lib/getugroups.h
249
250 2007-07-04  Karl Berry  <karl@gnu.org>
251
252         * MODULES.html.sh (func_all_modules): Complete rename of
253         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
254
255 2007-07-02  Bruno Haible  <bruno@clisp.org>
256
257         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
258         mode, when inttypes.h comes from gnulib.
259         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
260
261 2007-07-02  Simon Josefsson  <simon@josefsson.org>
262
263         * NEWS: Mention lgpl module name change.
264
265         * modules/lgpl-2.1: Renamed from lgpl.
266
267         * NEWS: Mention gpl module name change.
268
269         * modules/gpl-3.0: New file, based on gpl-2.0.
270
271         * modules/gpl-2.0: Renamed from gpl.
272
273         * modules/gpl: Fix filename, doc/gpl.texi is now found at
274         doc/gpl-2.0.texi.
275
276 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
277
278         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
279         #define __STDC_LIMIT_MACROS temporarily while including
280         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
281         Problem reported by Joel E. Denny in
282         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
283
284 2007-07-01  Bruno Haible  <bruno@clisp.org>
285
286         * lib/unistdio.h: New file.
287         * lib/unistdio/u-asnprintf.h: New file.
288         * lib/unistdio/u-asprintf.h: New file.
289         * lib/unistdio/u-printf-args.c: New file.
290         * lib/unistdio/u-printf-args.h: New file.
291         * lib/unistdio/u-printf-parse.h: New file.
292         * lib/unistdio/u-snprintf.h: New file.
293         * lib/unistdio/u-sprintf.h: New file.
294         * lib/unistdio/u-vasprintf.h: New file.
295         * lib/unistdio/u-vsnprintf.h: New file.
296         * lib/unistdio/u-vsprintf.h: New file.
297         * lib/unistdio/ulc-asnprintf.c: New file.
298         * lib/unistdio/ulc-asprintf.c: New file.
299         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
300         * lib/unistdio/ulc-printf-parse.c: New file.
301         * lib/unistdio/ulc-snprintf.c: New file.
302         * lib/unistdio/ulc-sprintf.c: New file.
303         * lib/unistdio/ulc-vasnprintf.c: New file.
304         * lib/unistdio/ulc-vasprintf.c: New file.
305         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
306         * lib/unistdio/ulc-vsnprintf.c: New file.
307         * lib/unistdio/ulc-vsprintf.c: New file.
308         * lib/unistdio/u8-asnprintf.c: New file.
309         * lib/unistdio/u8-asprintf.c: New file.
310         * lib/unistdio/u8-printf-parse.c: New file.
311         * lib/unistdio/u8-snprintf.c: New file.
312         * lib/unistdio/u8-sprintf.c: New file.
313         * lib/unistdio/u8-vasnprintf.c: New file.
314         * lib/unistdio/u8-vasprintf.c: New file.
315         * lib/unistdio/u8-vsnprintf.c: New file.
316         * lib/unistdio/u8-vsprintf.c: New file.
317         * lib/unistdio/u8-u8-asnprintf.c: New file.
318         * lib/unistdio/u8-u8-asprintf.c: New file.
319         * lib/unistdio/u8-u8-snprintf.c: New file.
320         * lib/unistdio/u8-u8-sprintf.c: New file.
321         * lib/unistdio/u8-u8-vasnprintf.c: New file.
322         * lib/unistdio/u8-u8-vasprintf.c: New file.
323         * lib/unistdio/u8-u8-vsnprintf.c: New file.
324         * lib/unistdio/u8-u8-vsprintf.c: New file.
325         * lib/unistdio/u16-asnprintf.c: New file.
326         * lib/unistdio/u16-asprintf.c: New file.
327         * lib/unistdio/u16-printf-parse.c: New file.
328         * lib/unistdio/u16-snprintf.c: New file.
329         * lib/unistdio/u16-sprintf.c: New file.
330         * lib/unistdio/u16-vasnprintf.c: New file.
331         * lib/unistdio/u16-vasprintf.c: New file.
332         * lib/unistdio/u16-vsnprintf.c: New file.
333         * lib/unistdio/u16-vsprintf.c: New file.
334         * lib/unistdio/u16-u16-asnprintf.c: New file.
335         * lib/unistdio/u16-u16-asprintf.c: New file.
336         * lib/unistdio/u16-u16-snprintf.c: New file.
337         * lib/unistdio/u16-u16-sprintf.c: New file.
338         * lib/unistdio/u16-u16-vasnprintf.c: New file.
339         * lib/unistdio/u16-u16-vasprintf.c: New file.
340         * lib/unistdio/u16-u16-vsnprintf.c: New file.
341         * lib/unistdio/u16-u16-vsprintf.c: New file.
342         * lib/unistdio/u32-asnprintf.c: New file.
343         * lib/unistdio/u32-asprintf.c: New file.
344         * lib/unistdio/u32-printf-parse.c: New file.
345         * lib/unistdio/u32-snprintf.c: New file.
346         * lib/unistdio/u32-sprintf.c: New file.
347         * lib/unistdio/u32-vasnprintf.c: New file.
348         * lib/unistdio/u32-vasprintf.c: New file.
349         * lib/unistdio/u32-vsnprintf.c: New file.
350         * lib/unistdio/u32-vsprintf.c: New file.
351         * lib/unistdio/u32-u32-asnprintf.c: New file.
352         * lib/unistdio/u32-u32-asprintf.c: New file.
353         * lib/unistdio/u32-u32-snprintf.c: New file.
354         * lib/unistdio/u32-u32-sprintf.c: New file.
355         * lib/unistdio/u32-u32-vasnprintf.c: New file.
356         * lib/unistdio/u32-u32-vasprintf.c: New file.
357         * lib/unistdio/u32-u32-vsnprintf.c: New file.
358         * lib/unistdio/u32-u32-vsprintf.c: New file.
359         * tests/unistdio/test-ulc-asnprintf1.c: New file.
360         * tests/unistdio/test-ulc-asnprintf1.h: New file.
361         * tests/unistdio/test-ulc-printf1.h: New file.
362         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
363         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
364         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
365         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
366         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
367         * tests/unistdio/test-ulc-vasprintf1.c: New file.
368         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
369         * tests/unistdio/test-ulc-vsprintf1.c: New file.
370         * tests/unistdio/test-u8-asnprintf1.c: New file.
371         * tests/unistdio/test-u8-asnprintf1.h: New file.
372         * tests/unistdio/test-u8-printf1.h: New file.
373         * tests/unistdio/test-u8-vasnprintf1.c: New file.
374         * tests/unistdio/test-u8-vasnprintf2.c: New file.
375         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
376         * tests/unistdio/test-u8-vasnprintf3.c: New file.
377         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
378         * tests/unistdio/test-u8-vasprintf1.c: New file.
379         * tests/unistdio/test-u8-vsnprintf1.c: New file.
380         * tests/unistdio/test-u8-vsprintf1.c: New file.
381         * tests/unistdio/test-u16-asnprintf1.c: New file.
382         * tests/unistdio/test-u16-asnprintf1.h: New file.
383         * tests/unistdio/test-u16-printf1.h: New file.
384         * tests/unistdio/test-u16-vasnprintf1.c: New file.
385         * tests/unistdio/test-u16-vasnprintf2.c: New file.
386         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
387         * tests/unistdio/test-u16-vasnprintf3.c: New file.
388         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
389         * tests/unistdio/test-u16-vasprintf1.c: New file.
390         * tests/unistdio/test-u16-vsnprintf1.c: New file.
391         * tests/unistdio/test-u16-vsprintf1.c: New file.
392         * tests/unistdio/test-u32-asnprintf1.c: New file.
393         * tests/unistdio/test-u32-asnprintf1.h: New file.
394         * tests/unistdio/test-u32-printf1.h: New file.
395         * tests/unistdio/test-u32-vasnprintf1.c: New file.
396         * tests/unistdio/test-u32-vasnprintf2.c: New file.
397         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
398         * tests/unistdio/test-u32-vasnprintf3.c: New file.
399         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
400         * tests/unistdio/test-u32-vasprintf1.c: New file.
401         * tests/unistdio/test-u32-vsnprintf1.c: New file.
402         * tests/unistdio/test-u32-vsprintf1.c: New file.
403         * modules/unistdio/base: New file.
404         * modules/unistdio/u-printf-args: New file.
405         * modules/unistdio/ulc-asnprintf: New file.
406         * modules/unistdio/ulc-asprintf: New file.
407         * modules/unistdio/ulc-fprintf: New file.
408         * modules/unistdio/ulc-printf-parse: New file.
409         * modules/unistdio/ulc-snprintf: New file.
410         * modules/unistdio/ulc-sprintf: New file.
411         * modules/unistdio/ulc-vasnprintf: New file.
412         * modules/unistdio/ulc-vasprintf: New file.
413         * modules/unistdio/ulc-vfprintf: New file.
414         * modules/unistdio/ulc-vsnprintf: New file.
415         * modules/unistdio/ulc-vsprintf: New file.
416         * modules/unistdio/u8-asnprintf: New file.
417         * modules/unistdio/u8-asprintf: New file.
418         * modules/unistdio/u8-printf-parse: New file.
419         * modules/unistdio/u8-snprintf: New file.
420         * modules/unistdio/u8-sprintf: New file.
421         * modules/unistdio/u8-vasnprintf: New file.
422         * modules/unistdio/u8-vasprintf: New file.
423         * modules/unistdio/u8-vsnprintf: New file.
424         * modules/unistdio/u8-vsprintf: New file.
425         * modules/unistdio/u8-u8-asnprintf: New file.
426         * modules/unistdio/u8-u8-asprintf: New file.
427         * modules/unistdio/u8-u8-snprintf: New file.
428         * modules/unistdio/u8-u8-sprintf: New file.
429         * modules/unistdio/u8-u8-vasnprintf: New file.
430         * modules/unistdio/u8-u8-vasprintf: New file.
431         * modules/unistdio/u8-u8-vsnprintf: New file.
432         * modules/unistdio/u8-u8-vsprintf: New file.
433         * modules/unistdio/u16-asnprintf: New file.
434         * modules/unistdio/u16-asprintf: New file.
435         * modules/unistdio/u16-printf-parse: New file.
436         * modules/unistdio/u16-snprintf: New file.
437         * modules/unistdio/u16-sprintf: New file.
438         * modules/unistdio/u16-vasnprintf: New file.
439         * modules/unistdio/u16-vasprintf: New file.
440         * modules/unistdio/u16-vsnprintf: New file.
441         * modules/unistdio/u16-vsprintf: New file.
442         * modules/unistdio/u16-u16-asnprintf: New file.
443         * modules/unistdio/u16-u16-asprintf: New file.
444         * modules/unistdio/u16-u16-snprintf: New file.
445         * modules/unistdio/u16-u16-sprintf: New file.
446         * modules/unistdio/u16-u16-vasnprintf: New file.
447         * modules/unistdio/u16-u16-vasprintf: New file.
448         * modules/unistdio/u16-u16-vsnprintf: New file.
449         * modules/unistdio/u16-u16-vsprintf: New file.
450         * modules/unistdio/u32-asnprintf: New file.
451         * modules/unistdio/u32-asprintf: New file.
452         * modules/unistdio/u32-printf-parse: New file.
453         * modules/unistdio/u32-snprintf: New file.
454         * modules/unistdio/u32-sprintf: New file.
455         * modules/unistdio/u32-vasnprintf: New file.
456         * modules/unistdio/u32-vasprintf: New file.
457         * modules/unistdio/u32-vsnprintf: New file.
458         * modules/unistdio/u32-vsprintf: New file.
459         * modules/unistdio/u32-u32-asnprintf: New file.
460         * modules/unistdio/u32-u32-asprintf: New file.
461         * modules/unistdio/u32-u32-snprintf: New file.
462         * modules/unistdio/u32-u32-sprintf: New file.
463         * modules/unistdio/u32-u32-vasnprintf: New file.
464         * modules/unistdio/u32-u32-vasprintf: New file.
465         * modules/unistdio/u32-u32-vsnprintf: New file.
466         * modules/unistdio/u32-u32-vsprintf: New file.
467         * modules/unistdio/ulc-asnprintf-tests: New file.
468         * modules/unistdio/ulc-vasnprintf-tests: New file.
469         * modules/unistdio/ulc-vasprintf-tests: New file.
470         * modules/unistdio/ulc-vsnprintf-tests: New file.
471         * modules/unistdio/ulc-vsprintf-tests: New file.
472         * modules/unistdio/u8-asnprintf-tests: New file.
473         * modules/unistdio/u8-vasnprintf-tests: New file.
474         * modules/unistdio/u8-vasprintf-tests: New file.
475         * modules/unistdio/u8-vsnprintf-tests: New file.
476         * modules/unistdio/u8-vsprintf-tests: New file.
477         * modules/unistdio/u16-asnprintf-tests: New file.
478         * modules/unistdio/u16-vasnprintf-tests: New file.
479         * modules/unistdio/u16-vasprintf-tests: New file.
480         * modules/unistdio/u16-vsnprintf-tests: New file.
481         * modules/unistdio/u16-vsprintf-tests: New file.
482         * modules/unistdio/u32-asnprintf-tests: New file.
483         * modules/unistdio/u32-vasnprintf-tests: New file.
484         * modules/unistdio/u32-vasprintf-tests: New file.
485         * modules/unistdio/u32-vsnprintf-tests: New file.
486         * modules/unistdio/u32-vsprintf-tests: New file.
487         * MODULES.html.sh (Unicode string functions): Add the new modules.
488
489 2007-07-01  Bruno Haible  <bruno@clisp.org>
490
491         * lib/sprintf.c (sprintf): Limit the available length estimation,
492         to avoid address wraparound.
493         * lib/vsprintf.c (vsprintf): Likewise.
494         * modules/sprintf-posix (Dependencies): Add stdint.
495         * modules/vsprintf-posix (Dependencies): Likewise.
496
497 2007-07-01  Bruno Haible <bruno@clisp.org>
498
499         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
500         Windows PATH as well. Conservative double-quoting. Comments.
501
502 2007-07-01  Bruno Haible <bruno@clisp.org>
503             Eric Blake  <ebb9@byu.net>
504             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
505
506         * gnulib-tool (self_abspathname): Fix algorithm to cope with
507         empty components in $PATH, denoting '.'.
508
509 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
510
511         * gnulib-tool: Fix indentation.
512         (func_create_megatestdir): Likewise.
513         Report by Bruno Haible.
514
515 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
516
517         Sync from Automake.
518         * build-aux/gnupload: Fix shell portability issues with for loops.
519         Report by Karl Berry.
520
521 2007-06-29  Simon Josefsson  <simon@josefsson.org>
522
523         * build-aux/maint.mk (POURL): Use translationproject.org.
524
525 2007-06-27  Simon Josefsson  <simon@josefsson.org>
526             Bruno Haible  <bruno@clisp.org>
527
528         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
529         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
530         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
531         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
532         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
533
534 2007-06-27  Bruno Haible  <bruno@clisp.org>
535
536         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
537         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
538
539 2007-06-26  Karl Berry  <karl@gnu.org>
540
541         * MODULES.html.sh: remove xreadlink-with-size.
542
543 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
544
545         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
546         method that I hope also handles the double-include problem noted
547         by Bruno Haible in
548         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
549
550 2007-06-23  Bruno Haible  <bruno@clisp.org>
551
552         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
553         Don't let the 'mostlyclean' target fail if the last subdirectory could
554         not be removed.
555         Reported by Karl Berry.
556
557 2007-06-23  Bruno Haible  <bruno@clisp.org>
558
559         * gnulib-tool (echo): Add a speedier workaround for ksh.
560         * tests/test-echo.sh: Likewise.
561
562 2007-06-23  Bruno Haible  <bruno@clisp.org>
563
564         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
565         * tests/test-echo.sh: Likewise.
566
567 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
568
569         * gnulib-tool (IFS): Initialize early, so we don't set it to
570         empty later.
571         (self_abspathname): Rewrite algorithm to set it, reindent.
572         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
573         (func_create_megatestdir): Merge some sed scripts.
574
575 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
576
577         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
578         exposed by Sun Studio 11 cc on Solaris 8.
579
580 2007-06-22  Bruno Haible  <bruno@clisp.org>
581
582         * gnulib-tool (echo): Ensure the echo primitive does not interpret
583         backslashes.
584         * tests/test-echo.sh: New file.
585
586 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
587
588         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
589         simplify `sed_replace_build_aux' scripts, they are portable but
590         echoing them with `echo' is not.
591         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
592
593 2007-06-21  Karl Berry  <karl@gnu.org>
594
595         * config/srclist.txt: guess we can't handle the licenses via
596         srclist at the moment.
597
598 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
599
600         * MODULES.html.sh: Add include_next.
601         * modules/include_next: New file.
602
603 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
604
605         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
606         INCLUDE_NEXT.
607         (gl_CHECK_NEXT_HEADERS): New macro.
608         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
609         the obsolescent gl_ABSOLUTE_HEADER.
610         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
611         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
612         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
613         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
614         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
615         * m4/math_h.m4 (gl_MATH_H): Likewise.
616         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
617         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
618         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
619         * m4/stdint.m4 (gl_STDINT_H): Likewise.
620         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
621         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
622         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
623         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
624         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
625         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
626         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
627         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
628         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
629         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
630         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
631         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
632         * m4/inttypes.m4 (gl_INTTYPES_H): Define
633         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
634         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
635         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
636         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
637         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
638         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
639         * lib/float_.h: Likewise.
640         * lib/inttypes_.h: Likewise.
641         * lib/math_.h: Likewise.
642         * lib/search_.h: Likewise.
643         * lib/signal_.h: Likewise.
644         * lib/stdint_.h: Likewise.
645         * lib/stdio_.h: Likewise.
646         * lib/stdlib_.h: Likewise.
647         * lib/string_.h: Likewise.
648         * lib/sys_stat_.h: Likewise.
649         * lib/sys_time_.h: Likewise.
650         * lib/time_.h: Likewise.
651         * lib/unistd_.h: Likewise.
652         * lib/wchar_.h: Likewise.
653         * lib/wctype_.h: Likewise.
654         * lib/dirent_.h: Likewise.
655         * lib/iconv_.h: Likewise.
656         * lib/locale_.h: Likewise.
657         * lib/netinet_in_.h: Likewise.
658         * lib/sys_select_.h: Likewise.
659         * lib/sys_socket_.h: Likewise.
660         * lib/sysexits_.h: Likewise.
661         * modules/fcntl (Depends-on): Depend on include_next, not
662         absolute_header.
663         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
664         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
665         * modules/fchdir: Likewise.
666         * modules/float: Likewise.
667         * modules/iconv_open: Likewise.
668         * modules/inttypes: Likewise.
669         * modules/locale: Likewise.
670         * modules/math: Likewise.
671         * modules/netinet_in: Likewise.
672         * modules/search: Likewise.
673         * modules/signal: Likewise.
674         * modules/stdint: Likewise.
675         * modules/stdio: Likewise.
676         * modules/stdlib: Likewise.
677         * modules/string: Likewise.
678         * modules/sys_select: Likewise.
679         * modules/sys_socket: Likewise.
680         * modules/sys_stat: Likewise.
681         * modules/sys_time: Likewise.
682         * modules/sysexits: Likewise.
683         * modules/time: Likewise.
684         * modules/unistd: Likewise.
685         * modules/wchar: Likewise.
686         * modules/wctype: Likewise.
687         * modules/sys_stat: Change maintainer to "all".
688         * modules/unistd: Likewise.
689
690 2007-06-20  Karl Berry  <karl@gnu.org>
691
692         * config/srclist.txt: track www changes in license files.
693
694 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
695
696         * build-aux/bootstrap: Remove stray dot.
697         Make sure build_aux settings are honored when linking
698         gnulib_extra_files.
699
700 2007-06-19  Eric Blake  <ebb9@byu.net>
701
702         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
703         Allow compilation on cygwin.
704
705 2007-06-19  Jim Meyering  <jim@meyering.net>
706
707         xreadlink-with-size: Remove module.  No longer used.
708         Ex-callers now use xreadlink or mreadlink-with-size.
709         * modules/xreadlink-with-size: Remove module.
710         * lib/xreadlink-with-size.c: Remove file.
711         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
712         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
713         just before the function definition *is* accurate.
714
715         Eliminate one way canonicalize_filename_mode could exit.
716         * lib/canonicalize.c (canonicalize_filename_mode):
717         Use mreadlink_with_size, not xreadlink_with_size.
718
719 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
720
721         Detect porting problems to FreeBSD/arm, which has time_t wider than
722         long int.  Original problem reported for GNU diff by Xin Li in
723         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
724         * modules/getdate (Depends-on): Add intprops, verify.
725         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
726         is an integer type no wider than long int.
727
728 2007-06-18  Jim Meyering  <jim@meyering.net>
729
730         New module: mreadlink-with-size.
731         * MODULES.html.sh: Add mreadlink-with-size.
732         * modules/mreadlink-with-size: New module
733         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
734         not xreadlink-with-size.
735         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
736
737 2007-06-16  Bruno Haible  <bruno@clisp.org>
738
739         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
740         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
741         Reported by Gary V. Vaughan <gary@gnu.org>.
742
743 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
744
745         Revamp lchown so that it lives in unistd.h where it belongs.
746         * lib/lchown.h: Remove.
747         * lib/dirchownmod.c: Don't include lib/lchown.h.
748         * lib/fchownat.c: Likewise.
749         * lib/openat.c: Likewise.
750         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
751         does not follow symlinks.
752         (EOPNOTSUPP): Define if not defined.
753         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
754         is defined to 0.
755         (lchown): New decl.
756         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
757         Do not check for lchown decl.
758         Set REPLACE_LCHOWN.
759         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
760         REPLACE_LCHOWN.
761         * modules/chown: Make it clear it follows symlinks.
762         * modules/lchown: Make it clear it doesn't follow symlinks.
763         (Files): Remove lib/lchown.h
764         (Depends-on): Add unistd.
765         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
766         (Include): Include <unistd.h>, not "lchown.h".
767         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
768         REPLACE_LCHOWN.
769
770 2007-06-15  Jim Meyering  <jim@meyering.net>
771
772         Change license (GPL to LGPL) of fsusage and dependents.
773         * modules/fsusage (License): Change to LGPL.
774         * modules/full-read (License): Likewise.
775         * modules/full-write (License): Likewise.
776         * modules/safe-read (License): Likewise.
777         * modules/safe-write (License): Likewise.
778
779 2007-06-14  Ben Pfaff  <blp@gnu.org>
780
781         Missing part of allocsa -> malloca transition.
782         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
783         gl_MALLOCA.
784
785 2007-06-12  Bruno Haible  <bruno@clisp.org>
786
787         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
788         to ia64, x86_64, i386.
789         Reported by Eric Blake.
790
791 2007-06-12  Bruno Haible  <bruno@clisp.org>
792
793         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
794         cross-compiling to x86_64.
795
796 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
797
798         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
799         glitch reported by Ralf Wildenhues in
800         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
801
802         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
803         Vin Shelton.
804
805 2007-06-11  Bruno Haible  <bruno@clisp.org>
806
807         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
808         replacement string.
809         Reported by Eric Blake.
810
811 2007-06-10  Bruno Haible  <bruno@clisp.org>
812
813         Prepare vasnprintf code for use with Unicode strings.
814         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
815         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
816         TYPE_U32_STRING.
817         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
818         a_u32_string variants.
819         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
820         * lib/printf-args.c: Don't include config.h and the specification
821         header if PRINTF_FETCHARGS is already defined.
822         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
823         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
824         TYPE_U16_STRING, TYPE_U32_STRING.
825         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
826         u16_directive, u16_directives, u32_directive, u32_directives): New
827         types.
828         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
829         New declarations.
830         * lib/printf-parse.c: Don't include config.h and the specification
831         header if PRINTF_PARSE is already defined. Eliminate the set of
832         parameters for WIDE_CHAR_VERSION; the user of this file must provide
833         them now. Include c-ctype.h.
834         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
835         directive and CHAR_T_ONLY_ASCII.
836         * lib/vasnprintf.c: Don't include config.h and the specification header
837         if VASNPRINTF is already defined.
838         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
839         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
840         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
841         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
842         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
843         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
844         code accordingly.
845         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
846         pad_ourselves also in this case, with the 'c' and 's' directives, and
847         with a different notion of "width".
848         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
849
850 2007-06-10  Bruno Haible  <bruno@clisp.org>
851
852         * modules/unistr/u32-mbsnlen: New file.
853         * lib/unistr/u32-mbsnlen.c: New file.
854
855         * modules/unistr/u16-mbsnlen: New file.
856         * lib/unistr/u16-mbsnlen.c: New file.
857
858         * modules/unistr/u8-mbsnlen: New file.
859         * lib/unistr/u8-mbsnlen.c: New file.
860
861         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
862         declarations.
863
864 2007-06-10  Bruno Haible  <bruno@clisp.org>
865
866         * lib/string_.h (mbsnlen): New declaration.
867         * lib/mbsnlen.c: New file.
868         * m4/mbsnlen.m4: New file.
869         * modules/mbsnlen: New file.
870         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
871         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
872         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
873
874 2007-06-10  Bruno Haible  <bruno@clisp.org>
875
876         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
877
878 2007-06-10  Bruno Haible  <bruno@clisp.org>
879
880         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
881         * lib/mbuiter.h: Likewise.
882
883 2007-06-10  Bruno Haible  <bruno@clisp.org>
884
885         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
886         declaration.
887
888 2007-06-10  Karl Berry  <karl@gnu.org>
889
890         * config/srclist.txt: remove gettext entries, Bruno prefers
891         to update individually.
892
893 2007-06-10  Bruno Haible  <bruno@clisp.org>
894
895         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
896         'maxlen'. Ensure only length + width bytes are allocated, not
897         length + 1 + width.
898
899 2007-06-09  Bruno Haible  <bruno@clisp.org>
900
901         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
902         (CHAR_T): Remove macro.
903         (VASNPRINTF): Update.
904
905 2007-06-09  Bruno Haible  <bruno@clisp.org>
906
907         * MODULES.html.sh (Unicode string functions): Add the new modules.
908
909         * modules/uniconv/u32-conv-to-enc: New file.
910         * lib/uniconv/u32-conv-to-enc.c: New file.
911         * modules/uniconv/u32-conv-to-enc-tests: New file.
912         * tests/uniconv/test-u32-conv-to-enc.c: New file.
913
914         * modules/uniconv/u16-conv-to-enc: New file.
915         * lib/uniconv/u16-conv-to-enc.c: New file.
916         * lib/uniconv/u-conv-to-enc.h: New file.
917         * modules/uniconv/u16-conv-to-enc-tests: New file.
918         * tests/uniconv/test-u16-conv-to-enc.c: New file.
919
920         * modules/uniconv/u8-conv-to-enc: New file.
921         * lib/uniconv/u8-conv-to-enc.c: New file.
922         * modules/uniconv/u8-conv-to-enc-tests: New file.
923         * tests/uniconv/test-u8-conv-to-enc.c: New file.
924
925         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
926         u32_conv_to_encoding): New declarations.
927
928 2007-06-09  Bruno Haible  <bruno@clisp.org>
929
930         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
931
932 2007-06-09  Bruno Haible  <bruno@clisp.org>
933
934         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
935         * modules/malloca: Renamed from modules/allocsa, updated.
936         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
937         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
938         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
939         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
940         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
941         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
942         * modules/xmalloca: Renamed from modules/xallocsa, updated.
943         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
944         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
945         * modules/c-strcasestr (Depends-on): Update.
946         * lib/c-strcasestr.c: Update.
947         * modules/c-strstr (Depends-on): Update.
948         * lib/c-strstr.c: Update.
949         * modules/canonicalize-lgpl (Depends-on): Update.
950         * lib/canonicalize-lgpl.c: Update.
951         * modules/clean-temp (Depends-on): Update.
952         * lib/clean-temp.c: Update.
953         * modules/csharpcomp (Depends-on): Update.
954         * lib/csharpcomp.c: Update.
955         * modules/csharpexec (Depends-on): Update.
956         * lib/csharpexec.c: Update.
957         * modules/javacomp (Depends-on): Update.
958         * lib/javacomp.c: Update.
959         * modules/javaexec (Depends-on): Update.
960         * lib/javaexec.c: Update.
961         * modules/mbscasestr (Depends-on): Update.
962         * lib/mbscasestr.c: Update.
963         * modules/mbsstr (Depends-on): Update.
964         * lib/mbsstr.c: Update.
965         * modules/setenv (Depends-on): Update.
966         * lib/setenv.c: Update.
967         * modules/strcasestr (Depends-on): Update.
968         * lib/strcasestr.c: Update.
969         * modules/striconveha (Depends-on): Update.
970         * lib/striconveha.c: Update.
971         * modules/relocatable-prog-wrapper (Files): Update.
972         * lib/relocwrapper.c: Update.
973         * build-aux/install-reloc: Update.
974         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
975
976 2007-06-08  Bruno Haible  <bruno@clisp.org>
977
978         Port to uClibc.
979         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
980         * lib/fpurge.c (fpurge): Likewise.
981         * lib/freading.c (freading): Likewise.
982         * lib/fseeko.c (rpl_fseeko): Likewise.
983         * lib/fseterr.c (fseterr): Likewise.
984         * lib/fwriting.c (fwriting): Likewise.
985         * tests/test-fflush.c (main): Avoid a failure on uClibc.
986
987 2007-06-08  Bruno Haible  <bruno@clisp.org>
988
989         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
990         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
991         * modules/gettext (Files): Add m4/intlmacosx.m4.
992
993 2007-06-07  Bruno Haible  <bruno@clisp.org>
994
995         * modules/localename-tests: New file.
996         * tests/test-localename.c: New file.
997
998         New module 'localename'.
999         * lib/localename.h: New file.
1000         * lib/localename.c: New file, from GNU gettext.
1001         * m4/localename.m4: New file.
1002         * modules/localename: New file.
1003
1004 2007-06-07  Bruno Haible  <bruno@clisp.org>
1005
1006         Work around the lack of <wchar.h> on some builds of uClibc.
1007         * doc/headers/wchar.texi: Update.
1008         * lib/wchar_.h: Include <wchar.h> only if it exists.
1009         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
1010         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
1011         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
1012         doesn't exist.
1013         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
1014         * modules/mbfile (Depends-on): Add wchar.
1015         * modules/mbiter (Depends-on): Likewise.
1016         * modules/mbuiter (Depends-on): Likewise.
1017         Reported by Simon Josefsson.
1018
1019 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
1020
1021         Work around problem reported by Steven M. Schweda in
1022         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
1023         Tru64 5.1B with the Compaq compiler environment installed declares
1024         an 'isblank' function but does not define it in the C library.
1025         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
1026         * lib/regex_internal.h (isblank): Likewise.
1027         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
1028         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
1029
1030 2007-06-05  Bruno Haible  <bruno@clisp.org>
1031
1032         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
1033         ia64.
1034         * modules/printf-safe: New file.
1035         * modules/fprintf-posix (Depends-on): Add printf-safe.
1036         * modules/printf-posix (Depends-on): Likewise.
1037         * modules/snprintf-posix (Depends-on): Likewise.
1038         * modules/sprintf-posix (Depends-on): Likewise.
1039         * modules/vasnprintf-posix (Depends-on): Likewise.
1040         * modules/vasprintf-posix (Depends-on): Likewise.
1041         * modules/vfprintf-posix (Depends-on): Likewise.
1042         * modules/vprintf-posix (Depends-on): Likewise.
1043         * modules/vsnprintf-posix (Depends-on): Likewise.
1044         * modules/vsprintf-posix (Depends-on): Likewise.
1045         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
1046         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
1047         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
1048         "no" on i386, x86_64, ia64.
1049         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
1050         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
1051         on i386, x86_64, ia64.
1052         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
1053         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
1054         on i386, x86_64, ia64.
1055         * tests/test-vasnprintf-posix.c: Include float.h.
1056         (LDBL80_WORDS): New macro.
1057         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
1058         on i386, x86_64, ia64.
1059         * tests/test-vasprintf-posix.c: Include float.h.
1060         (LDBL80_WORDS): New macro.
1061         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
1062         on i386, x86_64, ia64.
1063         * tests/test-snprintf-posix.c: Include float.h.
1064         * tests/test-sprintf-posix.c: Likewise.
1065         * tests/test-vsnprintf-posix.c: Likewise.
1066         * tests/test-vsprintf-posix.c: Likewise.
1067
1068 2007-06-05  Bruno Haible  <bruno@clisp.org>
1069
1070         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
1071         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
1072         non-IEEE numbers on i386, x86_64, ia64.
1073         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
1074         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
1075         * tests/test-isnanl.h: Include float.h.
1076         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
1077
1078 2007-06-05  Bruno Haible  <bruno@clisp.org>
1079
1080         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
1081         also the %a / %A. Handle the %a / %A code before this extra handling.
1082
1083 2007-06-05  Bruno Haible  <bruno@clisp.org>
1084
1085         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
1086         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
1087
1088 2007-06-05  Bruno Haible  <bruno@clisp.org>
1089
1090         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
1091         typo in variable name.
1092
1093 2007-06-05  Eric Blake  <ebb9@byu.net>
1094
1095         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
1096         Reported by Simon Josefsson.
1097
1098 2007-06-04  Bruno Haible  <bruno@clisp.org>
1099
1100         Avoid test failures on some PowerPC platforms.
1101         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
1102         Define differently for PowerPC.
1103         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
1104         Reported by Gary V. Vaughan <gary@gnu.org>.
1105
1106 2007-06-02  Bruno Haible  <bruno@clisp.org>
1107
1108         Fix test-stdint failure on FreeBSD/ia64.
1109         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
1110         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
1111         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
1112         * doc/headers/stdint.texi: Update.
1113
1114 2007-06-01  Bruno Haible  <bruno@clisp.org>
1115
1116         * tests/test-binary-io.c (main): Pass a third argument to open().
1117         Reported by Gary V. Vaughan <gary@gnu.org>.
1118
1119 2007-06-01  Bruno Haible  <bruno@clisp.org>
1120
1121         * doc/functions/frexpl.texi: Update for mingw.
1122
1123 2007-06-01  Bruno Haible  <bruno@clisp.org>
1124
1125         * tests/test-lseek.c (main): Disable test of errno for invalid third
1126         argument.
1127         * doc/functions/lseek.texi: Update.
1128         Reported by Gary V. Vaughan <gary@gnu.org>.
1129
1130 2007-05-28  Bruno Haible  <bruno@clisp.org>
1131
1132         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
1133
1134 2007-05-31  Eric Blake  <ebb9@byu.net>
1135
1136         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
1137         cross compiling.
1138
1139 2007-05-30  Eric Blake  <ebb9@byu.net>
1140         and Bruno Haible  <bruno@clisp.org>
1141
1142         Work around mingw test failures exposed by m4-1.4.9b.
1143         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
1144         * tests/test-unistd.c: Disable uid_t and git_t tests for the
1145         moment.
1146
1147 2007-05-30  Bruno Haible  <bruno@clisp.org>
1148
1149         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
1150         assuming that they are closed. Needed on HP-UX 11.
1151
1152 2007-05-29  Bruno Haible  <bruno@clisp.org>
1153
1154         Fix a problem with #include_next.
1155         * lib/dirent_.h: Split the double-inclusion guard.
1156         * lib/fcntl_.h: Likewise.
1157         * lib/float_.h: Likewise.
1158         * lib/iconv_.h: Likewise.
1159         * lib/inttypes_.h: Likewise.
1160         * lib/locale_.h: Likewise.
1161         * lib/math_.h: Likewise.
1162         * lib/netinet_in_.h: Likewise.
1163         * lib/search_.h: Likewise.
1164         * lib/signal_.h: Likewise.
1165         * lib/stdint_.h: Likewise.
1166         * lib/stdio_.h: Likewise.
1167         * lib/stdlib_.h: Likewise.
1168         * lib/string_.h: Likewise.
1169         * lib/sys_select_.h: Likewise.
1170         * lib/sys_socket_.h: Likewise.
1171         * lib/sys_stat_.h: Likewise.
1172         * lib/sys_time_.h: Likewise.
1173         * lib/sysexits_.h: Likewise.
1174         * lib/time_.h: Likewise.
1175         * lib/unistd_.h: Likewise.
1176         * lib/wchar_.h: Likewise.
1177         * lib/wctype_.h: Likewise.
1178
1179 2007-05-29  Bruno Haible  <bruno@clisp.org>
1180
1181         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
1182         for the moment.
1183
1184 2007-05-29  Bruno Haible  <bruno@clisp.org>
1185
1186         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
1187         invocation.
1188         Reported by Eric Blake.
1189
1190 2007-05-29  Bruno Haible  <bruno@clisp.org>
1191
1192         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
1193         compiling case.
1194
1195 2007-05-29  Eric Blake  <ebb9@byu.net>
1196             Bruno Haible  <bruno@clisp.org>
1197
1198         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
1199         cross compiles.
1200
1201 2007-05-28  Eric Blake  <ebb9@byu.net>
1202
1203         * modules/closein-tests (test_closein_LDADD): Support test on
1204         cygwin with libtool.
1205
1206 2007-05-28  Bruno Haible  <bruno@clisp.org>
1207
1208         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
1209         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
1210         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
1211         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
1212         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
1213         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
1214         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
1215         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
1216         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
1217
1218 2007-05-28  Eric Blake  <ebb9@byu.net>
1219
1220         Unconditionally include <config.h> in unit tests.
1221         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
1222         * tests/test-allocsa.c, tests/test-arcfour.c,
1223         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
1224         tests/test-array_list.c, tests/test-array_oset.c,
1225         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
1226         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
1227         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
1228         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
1229         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
1230         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
1231         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
1232         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
1233         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
1234         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
1235         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
1236         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
1237         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
1238         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
1239         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
1240         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
1241         test-md5.c, test-memmem.c, test-printf-posix.c,
1242         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
1243         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
1244         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
1245         test-strcasestr.c, test-striconv.c, test-striconveh.c,
1246         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
1247         test-vasnprintf-posix2.c, test-vasnprintf.c,
1248         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
1249         test-vfprintf-posix.c, test-vprintf-posix.c,
1250         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
1251         test-xvasprintf.c: Likewise.
1252
1253 2007-05-28  Bruno Haible  <bruno@clisp.org>
1254
1255         * gnulib-tool (func_import): Remember the --with-tests command-line
1256         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
1257         Reported by Eric Blake.
1258
1259 2007-05-28  Bruno Haible  <bruno@clisp.org>
1260
1261         * modules/ftell-tests: New file.
1262         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
1263         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
1264
1265         * lib/ftell.c: New file.
1266         * modules/ftell: New file.
1267         * m4/ftell.m4: New file.
1268         * doc/functions/ftell.texi: Update.
1269         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
1270         REPLACE_FTELL.
1271         * lib/stdio_.h (rpl_ftell): New declaration.
1272         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
1273         REPLACE_FTELL.
1274
1275 2007-05-28  Eric Blake  <ebb9@byu.net>
1276
1277         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
1278
1279 2007-05-28  Bruno Haible  <bruno@clisp.org>
1280
1281         * modules/fseek-tests: New file.
1282         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
1283         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
1284
1285         * lib/fseek.c: New file.
1286         * modules/fseek: New file.
1287         * m4/fseek.m4: New file.
1288         * doc/functions/fseek.texi: Update.
1289         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
1290         REPLACE_FSEEK.
1291         * lib/stdio_.h (rpl_fseek): New declaration.
1292         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
1293         REPLACE_FSEEK.
1294
1295 2007-05-28  Bruno Haible  <bruno@clisp.org>
1296
1297         * lib/stdio_.h (fflush): More comments.
1298
1299 2007-05-28  Bruno Haible  <bruno@clisp.org>
1300
1301         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
1302         runtime test.
1303
1304 2007-05-28  Eric Blake  <ebb9@byu.net>
1305
1306         Improve lseek module.
1307         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
1308         * lib/unistd_.h (lseek): Scale back link warning message.
1309         * tests/test-lseek.c: Beef up test.
1310         * tests/test-lseek.sh: Exercise more facets of lseek.
1311         Reported by Bruno Haible.
1312
1313 2007-05-28  Bruno Haible  <bruno@clisp.org>
1314
1315         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
1316         to define.
1317
1318 2007-05-27  Bruno Haible  <bruno@clisp.org>
1319
1320         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
1321
1322 2007-05-27  Bruno Haible  <bruno@clisp.org>
1323
1324         * modules/openmp: New file.
1325         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
1326         Noah Misch.
1327
1328 2007-05-26  Bruno Haible  <bruno@clisp.org>
1329
1330         * modules/chdir-long (Depends-on): Add fchdir.
1331         * modules/chdir-safer (Depends-on): Likewise.
1332         * modules/fts (Depends-on): Likewise.
1333         * modules/fts-lgpl (Depends-on): Likewise.
1334         * modules/openat (Depends-on): Likewise.
1335         * modules/savewd (Depends-on): Likewise.
1336
1337 2007-05-24  Eric Blake  <ebb9@byu.net>
1338
1339         Fix lseek on mingw.
1340         * modules/lseek: New module.
1341         * m4/lseek.m4: New file.
1342         * lib/lseek.c: New file.
1343         * modules/lseek-tests: New file.
1344         * tests/test-lseek.c: New file.
1345         * tests/test-lseek.sh: New file.
1346         * MODULES.html.sh: Document lseek module.
1347         * modules/fflush (Depends-on): Add lseek, fseeko.
1348         * modules/fseeko (Depends-on): Likewise.
1349         * modules/ftello (Depends-on): Likewise.
1350         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
1351         broken.
1352         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
1353         broken.
1354         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
1355         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
1356         * lib/ftello.c (rpl_ftello): Likewise.
1357         * tests/test-fseeko.c (main): Test this.
1358         * tests/test-fseeko.sh: Likewise.
1359         * tests/test-ftello.c (main): Likewise.
1360         * tests/test-ftello.sh: Likewise.
1361         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
1362         implies replacing fseek.
1363         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
1364         HAVE_FTELLO.
1365         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
1366         * modules/unistd (Makefile.am): Likewise.
1367         * lib/unistd_.h (lseek): Declare a replacement.
1368         * doc/functions/lseek.texi (lseek): Document this fix.
1369         * doc/functions/fseek.texi (fseek): Likewise.
1370         * doc/functions/ftell.texi (ftell): Likewise.
1371
1372 2007-05-24  Bruno Haible  <bruno@clisp.org>
1373
1374         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
1375         in the printed representation of a NaN.
1376         * tests/test-vasprintf-posix.c (test_function): Likewise.
1377         * tests/test-snprintf-posix.h (test_function): Likewise.
1378         * tests/test-sprintf-posix.h (test_function): Likewise.
1379         Reported by Eric Blake.
1380
1381 2007-05-23  Eric Blake  <ebb9@byu.net>
1382
1383         Fix fseeko/ftello on cygwin 1.5.24.
1384         * doc/functions/fseeko.texi (fseeko): Document the fix.
1385         * doc/functions/ftello.texi (ftello): Document the fix.
1386         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
1387         * doc/functions/stdout.text (stdout): New file.
1388         * doc/functions/stderr.text (stderr): New file.
1389         * doc/gnulib.texi (Function Substitutes): Use new files.
1390         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
1391         prior to 1.7.0.
1392         * tests/test-ftello.c (main): Likewise for ftello.
1393         * tests/test-fseeko.sh: New file.
1394         * tests/test-ftello.sh: New file.
1395         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
1396         with seekable stdin.
1397         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
1398         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
1399         (gl_REPLACE_FSEEKO): New macro.
1400         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
1401         * modules/fseeko (Files): Distribute fseeko.c.
1402         * modules/ftello (Files): Distribute ftello.c.
1403         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
1404         mode.
1405         * lib/ftello.c (rpl_ftello): New file.
1406         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
1407         fseeko, ftello.
1408         (gl_STDIN_LARGE_OFFSET): New macro.
1409         * modules/stdio (Makefile.am): Perform the replacement.
1410         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
1411
1412 2007-05-23  Bruno Haible  <bruno@clisp.org>
1413
1414         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
1415         GNULIB_POSIXCHECK is defined.
1416
1417 2007-05-21  Bruno Haible  <bruno@clisp.org>
1418
1419         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
1420         Check also the output for NaN arguments. When cross-compiling, guess
1421         no on IRIX.
1422         * lib/vasnprintf.c: Update comments.
1423         * tests/test-vasnprintf-posix.c (strisnan): New function.
1424         (test_function): Use it.
1425         * tests/test-vasprintf-posix.c (strisnan): New function.
1426         (test_function): Use it.
1427         * tests/test-snprintf-posix.h (strisnan): New function.
1428         (test_function): Use it.
1429         * tests/test-sprintf-posix.h (strisnan): New function.
1430         (test_function): Use it.
1431         Reported by Eric Blake.
1432
1433 2007-05-20  Bruno Haible  <bruno@clisp.org>
1434
1435         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
1436         numbers that fails on BeOS.
1437         * doc/functions/frexpl.texi: Update.
1438
1439 2007-05-20  Jim Meyering  <jim@meyering.net>
1440
1441         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
1442         forced upon us by glibc-2.6.
1443
1444 2007-05-20  Bruno Haible  <bruno@clisp.org>
1445
1446         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
1447         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
1448         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
1449         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
1450         NEED_PRINTF_INFINITE.
1451         (is_infinitel): New function.
1452         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
1453         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
1454         gl_PREREQ_VASNPRINTF_INFINITE.
1455         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
1456         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
1457         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
1458         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
1459         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
1460         gl_PREREQ_VASNPRINTF_INFINITE.
1461         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
1462         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1463         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1464         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1465         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
1466         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1467         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1468         * doc/functions/fprintf.texi: Update.
1469         * doc/functions/printf.texi: Update.
1470         * doc/functions/snprintf.texi: Update.
1471         * doc/functions/sprintf.texi: Update.
1472         * doc/functions/vfprintf.texi: Update.
1473         * doc/functions/vprintf.texi: Update.
1474         * doc/functions/vsnprintf.texi: Update.
1475         * doc/functions/vsprintf.texi: Update.
1476
1477 2007-05-20  Bruno Haible  <bruno@clisp.org>
1478
1479         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
1480         was not found in libc.
1481         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
1482
1483 2007-05-20  Bruno Haible  <bruno@clisp.org>
1484
1485         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
1486         printed as "-nan" instead of "nan".
1487         * tests/test-vasprintf-posix.c (test_function): Likewise.
1488         * tests/test-snprintf-posix.h (test_function): Likewise.
1489         * tests/test-sprintf-posix.h (test_function): Likewise.
1490         Needed for HP-UX 11.
1491
1492 2007-05-20  Jim Meyering  <jim@meyering.net>
1493
1494         Fix buggy test for the fchownat-deref bug.
1495         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
1496         symlink required for the run-test.  Without it, this test would
1497         always declare that fchownat doesn't work, and client code would
1498         unnecessarily use the replacement function with fixed libc.
1499         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
1500         Reported by Greg Schafer.
1501
1502 2007-05-19  Bruno Haible  <bruno@clisp.org>
1503
1504         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
1505         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
1506         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
1507         Needed for IRIX 6.5 and Solaris 2.5.1.
1508
1509 2007-05-19  Bruno Haible  <bruno@clisp.org>
1510
1511         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
1512         (test_function): Skip tests involving -0.0 on platforms where
1513         -0.0 = 0.0.
1514         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
1515         (test_function): Skip tests involving -0.0 on platforms where
1516         -0.0 = 0.0.
1517         * tests/test-snprintf-posix.h (have_minus_zero): New function.
1518         (test_function): Skip tests involving -0.0 on platforms where
1519         -0.0 = 0.0.
1520         * tests/test-sprintf-posix.h (have_minus_zero): New function.
1521         (test_function): Skip tests involving -0.0 on platforms where
1522         -0.0 = 0.0.
1523         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
1524         tests.
1525         * tests/test-printf-posix.h (test_function): Likewise.
1526         * tests/test-printf-posix.output: Remove all -0.0 related results.
1527         Needed for IRIX 6.5.
1528
1529 2007-05-19  Bruno Haible  <bruno@clisp.org>
1530
1531         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
1532         printed as "nan0x7fffffff" instead of "nan".
1533         * tests/test-vasprintf-posix.c (test_function): Likewise.
1534         * tests/test-snprintf-posix.h (test_function): Likewise.
1535         * tests/test-sprintf-posix.h (test_function): Likewise.
1536         * tests/test-fprintf-posix.h (NaN): Remove macro.
1537         (test_function): Remove all NaN related tests.
1538         * tests/test-printf-posix.h (NaN): Remove macro.
1539         (test_function): Remove all NaN related tests.
1540         * tests/test-printf-posix.output: Remove all NaN related results.
1541         Needed for IRIX 6.5.
1542
1543 2007-05-19  Bruno Haible  <bruno@clisp.org>
1544
1545         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
1546         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
1547
1548 2007-05-19  Bruno Haible  <bruno@clisp.org>
1549
1550         * lib/float_.h: New file.
1551         * m4/float_h.m4: New file.
1552         * modules/float: New file.
1553         * modules/isnanl (Dependencies): Add float.
1554         * modules/isnanl-nolibm (Dependencies): Likewise.
1555         * modules/mathl (Dependencies): Likewise.
1556         * modules/printf-frexpl (Dependencies): Likewise.
1557         * modules/signbit (Dependencies): Likewise.
1558         * modules/vasnprintf (Dependencies): Likewise.
1559         * doc/headers/float.texi: Update.
1560
1561 2007-05-19  Jim Meyering  <jim@meyering.net>
1562
1563         * lib/utimens.c (gl_futimens): Rename from futimens,
1564         now that glibc-2.6 declares futimens.
1565         * lib/utimens.h: Likewise.
1566
1567 2007-05-19  Bruno Haible  <bruno@clisp.org>
1568
1569         Avoid test failures on mingw.
1570         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
1571         * tests/test-printf-posix.sh: Likewise.
1572         * tests/test-vfprintf-posix.sh: Likewise.
1573         * tests/test-vprintf-posix.sh: Likewise.
1574
1575 2007-05-19  Bruno Haible  <bruno@clisp.org>
1576
1577         Fix *printf result for NaN, Inf, -0.0 on mingw.
1578         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
1579         * lib/vasnprintf.c: Include math.h and isnan.h.
1580         (is_infinite_or_zero): New function.
1581         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
1582         values in the %f, %F, %e, %E, %g, %G directives.
1583         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
1584         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
1585         gl_PRINTF_INFINITE and test its result. Invoke
1586         gl_PREREQ_VASNPRINTF_INFINITE.
1587         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
1588         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1589         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1590         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1591         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
1592         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1593         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1594         * doc/functions/fprintf.texi: Update.
1595         * doc/functions/printf.texi: Update.
1596         * doc/functions/snprintf.texi: Update.
1597         * doc/functions/sprintf.texi: Update.
1598         * doc/functions/vfprintf.texi: Update.
1599         * doc/functions/vprintf.texi: Update.
1600         * doc/functions/vsnprintf.texi: Update.
1601         * doc/functions/vsprintf.texi: Update.
1602
1603 2007-05-19  Bruno Haible  <bruno@clisp.org>
1604
1605         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
1606         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
1607         Instead of multiplying with 10^k, set extra_zeroes to k.
1608         (scale10_round_long_double): Remove function.
1609
1610 2007-05-18  Bruno Haible  <bruno@clisp.org>
1611
1612         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
1613         introduced on 2007-05-06.
1614
1615 2007-05-18  Bruno Haible  <bruno@clisp.org>
1616
1617         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
1618         %g directives.
1619         * tests/test-vasprintf-posix.c (test_function): Likewise.
1620         * tests/test-snprintf-posix.h (test_function): Likewise.
1621         * tests/test-sprintf-posix.h (test_function): Likewise.
1622
1623 2007-05-18  Bruno Haible  <bruno@clisp.org>
1624
1625         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
1626         (strmatch): New function.
1627         (test_function): Test the %f directive on numbers of various exponents.
1628         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
1629         (strmatch): New function.
1630         (test_function): Test the %f directive on numbers of various exponents.
1631         * tests/test-snprintf-posix.h (strmatch): New function.
1632         (test_function): Test the %f directive on numbers of various exponents.
1633         * tests/test-sprintf-posix.h (strmatch): New function.
1634         (test_function): Test the %f directive on numbers of various exponents.
1635         * tests/test-snprintf-posix.c (SIZEOF): New macro.
1636         * tests/test-sprintf-posix.c (SIZEOF): New macro.
1637         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
1638         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
1639
1640 2007-05-18  Bruno Haible  <bruno@clisp.org>
1641
1642         Add support for 'long double' number output.
1643         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
1644         * lib/vasnprintf.c: Include math.h and float+.h.
1645         (mp_limb_t): New type.
1646         (GMP_LIMB_BITS): New macro.
1647         (mp_twolimb_t): New type.
1648         (GMP_TWOLIMB_BITS): New macro.
1649         (mpn_t): New type.
1650         (multiply, divide, convert_to_decimal, decode_long_double,
1651         scale10_round_long_double, scale10_round_decimal_long_double,
1652         floorlog10l): New functions.
1653         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
1654         for the %f, %F, %e, %E, %g, %G directives.
1655         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
1656         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
1657         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
1658         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
1659         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
1660         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1661         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1662         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1663         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
1664         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1665         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1666         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
1667         * modules/snprintf-posix (Depends-on): Likewise.
1668         * modules/sprintf-posix (Depends-on): Likewise.
1669         * modules/vasnprintf-posix (Depends-on): Likewise.
1670         * modules/vasprintf-posix (Depends-on): Likewise.
1671         * modules/vfprintf-posix (Depends-on): Likewise.
1672         * modules/vsnprintf-posix (Depends-on): Likewise.
1673         * modules/vsprintf-posix (Depends-on): Likewise.
1674         * modules/vasnprintf (Files): Add lib/float+.h.
1675         * doc/functions/fprintf.texi: Update.
1676         * doc/functions/printf.texi: Update.
1677         * doc/functions/snprintf.texi: Update.
1678         * doc/functions/sprintf.texi: Update.
1679         * doc/functions/vfprintf.texi: Update.
1680         * doc/functions/vprintf.texi: Update.
1681         * doc/functions/vsnprintf.texi: Update.
1682         * doc/functions/vsprintf.texi: Update.
1683
1684 2007-05-18  Bruno Haible  <bruno@clisp.org>
1685
1686         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
1687
1688 2007-05-18  Bruno Haible  <bruno@clisp.org>
1689
1690         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
1691         for printing 64-bit integers. Needed for mingw.
1692
1693 2007-05-18  Bruno Haible  <bruno@clisp.org>
1694
1695         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
1696         gl_FUNC_FREXPL_WORKS.
1697         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
1698
1699 2007-05-18  Bruno Haible  <bruno@clisp.org>
1700
1701         * modules/frexpl-nolibm-tests: New file.
1702
1703         * modules/frexpl-nolibm: New file.
1704         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
1705
1706 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
1707
1708         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
1709         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
1710         GCC 4.2, which otherwise issues a lot of warnings.
1711         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
1712         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
1713         Likewise.
1714         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
1715         * modules/iconv_open (iconv.h): Likewise.
1716         * modules/locale (locale.h): Likewise.
1717         * modules/netinet_in (netinet/in.h): Likewise.
1718         * modules/sys_select (sys_select.h): Likewise.
1719         * modules/sys_socket (sys/socket.h): Likewise.
1720         * modules/sys_stat (sys/stat.h): Likewise.
1721         * modules/sysexits (sysexits.h): Likewise.
1722         * modules/unistd (unistd.h): Likewise.
1723
1724 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1725
1726         * modules/closein-tests (Makefile.am): Distribute
1727         `test-closein.sh'.
1728
1729 2007-05-17  Bruno Haible  <bruno@clisp.org>
1730
1731         * tests/test-printf-posix.output: Renamed from
1732         tests/test-fprintf-posix.out.
1733         * modules/fprintf-posix-tests: Update.
1734         * modules/printf-posix-tests: Update.
1735         * modules/vfprintf-posix-tests: Update.
1736         * modules/vprintf-posix-tests: Update.
1737         * tests/test-fprintf-posix.sh: Update.
1738         * tests/test-printf-posix.sh: Update.
1739         * tests/test-vfprintf-posix.sh: Update.
1740         * tests/test-vprintf-posix.sh: Update.
1741         Reported by Ralf Wildenhues.
1742
1743 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
1744
1745         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
1746         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
1747         GCC 4.2, which otherwise issues a lot of warnings.
1748         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
1749         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
1750         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
1751         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
1752         it should no longer be needed.
1753         * lib/string_.h: Likewise.
1754         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
1755         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
1756         * modules/inttypes (inttypes.h): Likewise.
1757         * modules/math (math.h): Likewise.
1758         * modules/search (search.h): Likewise.
1759         * modules/signal (signal.h): Likewise.
1760         * modules/stdint (stdint.h): Likewise.
1761         * modules/stdio (stdio.h): Likewise.
1762         * modules/stdlib (stdlib.h): Likewise.
1763         * modules/string (string.h): Likewise.
1764         * modules/sys_time (sys/time.h): Likewise.
1765         * modules/time (time.h): Likewise.
1766         * modules/wchar (wchar.h): Likewise.
1767         * modules/wctype (wtype.h): Likewise.
1768
1769 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
1770
1771         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
1772
1773 2007-05-13  Bruno Haible  <bruno@clisp.org>
1774
1775         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
1776         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
1777         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
1778         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
1779         (gl_PREREQ_STRTOK_R): Don't require it here.
1780
1781 2007-05-13  Bruno Haible  <bruno@clisp.org>
1782
1783         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
1784         when used in C++ mode.
1785
1786 2007-05-12  Bruno Haible  <bruno@clisp.org>
1787
1788         * lib/linebuffer.h: Tweak doc.
1789         * lib/linebuffer.c: Likewise.
1790
1791 2007-05-12  James Youngman  <jay@gnu.org>
1792
1793         * lib/linebuffer.c (readlinebuffer_delim): New function,
1794         like readlinebuffer, but use a caller-specified delimiter.
1795         (readlinebuffer): Just call readlinebuffer_delim with '\n'
1796         as the delimiter.
1797         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
1798
1799 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
1800
1801         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
1802         * modules/openat (Files): Remove openat-die.c.
1803         (Depends-on): Add openat-die.
1804         * modules/openat-die: New module.
1805
1806 2007-05-06  Bruno Haible  <bruno@clisp.org>
1807
1808         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
1809         Update with info about Cygwin.
1810         * doc/functions/fprintf.texi: Update.
1811         * doc/functions/printf.texi: Update.
1812         * doc/functions/snprintf.texi: Update.
1813         * doc/functions/sprintf.texi: Update.
1814         * doc/functions/vfprintf.texi: Update.
1815         * doc/functions/vprintf.texi: Update.
1816         * doc/functions/vsnprintf.texi: Update.
1817         * doc/functions/vsprintf.texi: Update.
1818         Reported by Eric Blake.
1819
1820 2007-05-06  Bruno Haible  <bruno@clisp.org>
1821
1822         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
1823         padding ourselves for the floating-point directives.
1824         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
1825         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
1826         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
1827         gl_PRINTF_FLAG_ZERO and test its result. Invoke
1828         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
1829         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1830         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
1831         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1832         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1833         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
1834         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1835         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1836         * tests/test-snprintf-posix.h (test_function): Also check the width
1837         and some flags in the %f directive.
1838         * tests/test-sprintf-posix.h (test_function): Likewise.
1839         * tests/test-vasnprintf-posix.c (test_function): Likewise.
1840         * tests/test-vasprintf-posix.c (test_function): Likewise.
1841         * doc/functions/fprintf.texi: Update.
1842         * doc/functions/printf.texi: Update.
1843         * doc/functions/snprintf.texi: Update.
1844         * doc/functions/sprintf.texi: Update.
1845         * doc/functions/vfprintf.texi: Update.
1846         * doc/functions/vprintf.texi: Update.
1847         * doc/functions/vsnprintf.texi: Update.
1848         * doc/functions/vsprintf.texi: Update.
1849
1850 2007-05-06  Bruno Haible  <bruno@clisp.org>
1851
1852         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
1853         pass the ' flag character to sprintf or snprintf.
1854         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
1855         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
1856         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
1857         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
1858         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
1859         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
1860         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
1861         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
1862         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
1863         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
1864         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
1865         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
1866         * tests/test-snprintf-posix.h (test_function): Also check the grouping
1867         flag.
1868         * tests/test-sprintf-posix.h (test_function): Likewise.
1869         * tests/test-vasnprintf-posix.c (test_function): Likewise.
1870         * tests/test-vasprintf-posix.c (test_function): Likewise.
1871         * doc/functions/fprintf.texi: Update.
1872         * doc/functions/printf.texi: Update.
1873         * doc/functions/snprintf.texi: Update.
1874         * doc/functions/sprintf.texi: Update.
1875         * doc/functions/vfprintf.texi: Update.
1876         * doc/functions/vprintf.texi: Update.
1877         * doc/functions/vsnprintf.texi: Update.
1878         * doc/functions/vsprintf.texi: Update.
1879
1880 2007-05-01  Bruno Haible  <bruno@clisp.org>
1881
1882         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
1883
1884 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
1885
1886         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
1887         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
1888
1889 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
1890
1891         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
1892         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
1893         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
1894
1895 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
1896
1897         * lib/argp-help.c (struct hol_entry): New member `ord'.
1898         (HOL_ENTRY_PTRCMP): Use ord for comparison
1899         (hol_sort): Initialize ord.
1900
1901 2007-05-01  Bruno Haible  <bruno@clisp.org>
1902
1903         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
1904         Reported by Eric Blake.
1905         * doc/gnulib.texi (Function Substitutes): Update.
1906
1907 2007-05-01  Bruno Haible  <bruno@clisp.org>
1908
1909         * doc/functions.texi: Remove file, now redundant through
1910         doc/functions/*.texi.
1911
1912 2007-05-01  Bruno Haible  <bruno@clisp.org>
1913
1914         * modules/argp (Depends-on): Add sleep.
1915
1916 2007-05-01  Bruno Haible  <bruno@clisp.org>
1917
1918         * modules/sleep-tests: New file.
1919         * tests/test-sleep.c: New file.
1920
1921         * modules/sleep: New file.
1922         * lib/sleep.c: New file.
1923         * m4/sleep.m4: New file.
1924         * lib/unistd_.h (sleep): New declaration.
1925         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
1926         HAVE_SLEEP.
1927         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
1928         * doc/functions/sleep.texi: Document the sleep module.
1929
1930 2007-05-01  Bruno Haible  <bruno@clisp.org>
1931
1932         * lib/sigprocmask.h: Remove file.
1933         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
1934         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
1935         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
1936         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
1937         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
1938         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
1939         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
1940         HAVE_SIGSET_T as a shell variable.
1941         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
1942         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
1943         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
1944         (Depends-on): Add signal. Remove verify.
1945         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
1946         (Include): Mention <signal.h> instead of sigprocmask.h.
1947         * NEWS: Mention the change.
1948         * lib/fatal-signal.c: Don't include sigprocmask.h.
1949
1950 2007-05-01  Bruno Haible  <bruno@clisp.org>
1951
1952         * modules/signal: New file.
1953         * lib/signal_.h: New file.
1954         * m4/signal_h.m4: New file.
1955
1956 2007-05-01  Bruno Haible  <bruno@clisp.org>
1957
1958         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
1959         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
1960         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
1961         HAVE_WCTYPE_CTMP_BUG into wctype.h.
1962
1963 2007-05-01  Bruno Haible  <bruno@clisp.org>
1964
1965         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
1966         configure time.
1967         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
1968         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
1969         * modules/sys_stat (Makefile.am): Substitute their values into
1970         sys/stat.h.
1971
1972 2007-05-01  Bruno Haible  <bruno@clisp.org>
1973
1974         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
1975         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
1976         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
1977
1978 2007-05-01  Bruno Haible  <bruno@clisp.org>
1979
1980         * doc/header/assert.texi: Undo last change: don't mention the gnulib
1981         'assert' module here.
1982
1983 2007-05-01  Bruno Haible  <bruno@clisp.org>
1984
1985         * doc/functions/*.texi: New files.
1986         * doc/functions/google-ranking.txt: New file.
1987         * doc/gnulib.texi (Function Substitutes): New chapter.
1988         (ctime, inet_ntoa): Remove sections.
1989         * doc/ctime.texi: Remove file.
1990         * doc/inet_ntoa.texi: Remove file.
1991         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
1992         dependencies.
1993         (%.info): New rule, specifying a --reference-limit.
1994
1995 2007-05-01  Bruno Haible  <bruno@clisp.org>
1996
1997         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
1998
1999 2007-05-01  Bruno Haible  <bruno@clisp.org>
2000
2001         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
2002         the portability of 'mkdir' to mingw systems.
2003
2004 2007-05-01  Bruno Haible  <bruno@clisp.org>
2005
2006         * doc/headers/google-ranking.txt: New file.
2007
2008 2007-04-30  Eric Blake  <ebb9@byu.net>
2009
2010         Prefer fseeko to fseek.
2011         * modules/getpass (Depends-on): Add fseeko.
2012         * lib/getpass.c (getpass): Use fseeko, not fseek.
2013
2014 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
2015
2016         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
2017         assumes the sorting is stable, while most qsort implementations
2018         are not.  Use argument addresses to ensure they never compare as
2019         equal.
2020
2021         * tests/test-argp-2.sh (usage-indent test): Fix output
2022         (func_compare): Restore diff options
2023         * tests/test-argp.c: Restore #include "progname.h"
2024
2025 2007-04-29  Bruno Haible  <bruno@clisp.org>
2026
2027         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
2028         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
2029         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
2030         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
2031         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
2032         (configure.ac): Define CHECK_SNPRINTF_POSIX.
2033         (TESTS, check_PROGRAMS): Add test-snprintf.
2034         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
2035         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
2036         (TESTS, check_PROGRAMS): Add test-vsnprintf.
2037         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
2038         assertions that fail on HP-UX, OSF/1, or IRIX.
2039         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
2040
2041 2007-04-29  Bruno Haible  <bruno@clisp.org>
2042
2043         * MODULES.html.sh (posix_functions): Remove 'contents'.
2044
2045 2007-04-29  Karl Berry  <karl@gnu.org>
2046
2047         * config/srclist.txt (gendocs_template_min): new entry.
2048
2049 2007-04-29  Bruno Haible  <bruno@clisp.org>
2050
2051         Work around fpurge bug on BSD systems.
2052         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
2053         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
2054         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
2055         fpurge to rpl_fpurge if the system already has this function.
2056         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
2057         the case where the system already has this function. Correct invariants
2058         on BSD systems.
2059         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
2060         BSD systems.
2061
2062 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
2063
2064         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
2065         proposed by Sven Verdoolaege.
2066
2067         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
2068         options.
2069         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
2070         (usage and help tests): Update
2071
2072 2007-04-29  Bruno Haible  <bruno@clisp.org>
2073
2074         * tests/test-fflush.c (main): Use a file of size 17, not 10.
2075         Print more information in case of failure. Disable a test on BeOS.
2076
2077 2007-04-29  Bruno Haible  <bruno@clisp.org>
2078
2079         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
2080         This helps debugging on systems on which no gdb is available.
2081
2082 2007-04-29  Bruno Haible  <bruno@clisp.org>
2083
2084         * lib/freading.h: Improve comments.
2085         * lib/fwriting.h: Likewise.
2086         * tests/test-freading.c (main): Don't check freading immediately after
2087         repositioning. Needed for glibc.
2088
2089 2007-04-29  Bruno Haible  <bruno@clisp.org>
2090
2091         * lib/freading.c (freading): Trivial simplification.
2092
2093 2007-04-28  Bruno Haible  <bruno@clisp.org>
2094
2095         * tests/test-fwriting.c (main): Also test the interaction between
2096         fflush and fwriting.
2097         * modules/fwriting-tests (Depends-on): Add fflush.
2098
2099         * tests/test-freading.c (main): Also test the interaction between
2100         fflush and freading.
2101         * modules/freading-tests (Depends-on): Add fflush.
2102
2103 2007-04-28  Bruno Haible  <bruno@clisp.org>
2104
2105         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
2106         fseeko and ftello.
2107         Suggested by Eric Blake.
2108
2109 2007-04-28  Jim Meyering  <jim@meyering.net>
2110
2111         Avoid false-negative in gl_STDINT_H's C99 conformance test.
2112         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
2113         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
2114
2115 2007-04-27  Eric Blake  <ebb9@byu.net>
2116
2117         * doc/headers/assert.texi (assert.h): Document assert module use.
2118
2119 2007-04-27  Bruno Haible  <bruno@clisp.org>
2120
2121         * doc/headers/*.texi: New files.
2122         * doc/gnulib.texi (Header File Substitutes): New chapter.
2123         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
2124         dependencies.
2125         (standards.info ,standards.html, standards.dvi): Update dependencies.
2126         (mostlyclean, clean): New targets.
2127
2128 2007-04-27  Bruno Haible  <bruno@clisp.org>
2129
2130         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
2131         * modules/sysexits (Files, Makefile.am): Update.
2132
2133         * lib/sys_socket_.h: Renamed from lib/socket_.h.
2134         * modules/sys_socket (Files, Makefile.am): Update.
2135
2136         * lib/sys_stat_.h: Renamed from lib/stat_.h.
2137         * modules/sys_stat (Files, Makefile.am): Update.
2138
2139 2007-04-27  Eric Blake  <ebb9@byu.net>
2140
2141         * lib/freading.h: Improve comments.
2142         * lib/fwriting.h: Likewise.
2143         * lib/fflush.c: Likewise.
2144
2145         Fix closein for mingw.
2146         * modules/closein-tests: Add tests for closein.
2147         * tests/test-closein.c: New file.
2148         * tests/test-closein.sh: Likewise.
2149         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
2150         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
2151
2152 2007-04-27  Bruno Haible  <bruno@clisp.org>
2153
2154         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
2155         version is < 6.
2156         * lib/math_.h [__DECC]: Likewise.
2157         * lib/stdio_.h [__DECC]: Likewise.
2158         * lib/stdlib_.h [__DECC]: Likewise.
2159         * lib/string_.h [__DECC]: Likewise.
2160         * lib/time_.h [__DECC]: Likewise.
2161         * lib/wchar_.h [__DECC]: Likewise.
2162         * lib/wctype_.h [__DECC]: Likewise.
2163
2164 2007-04-27  Bruno Haible  <bruno@clisp.org>
2165
2166         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
2167
2168 2007-04-27  Bruno Haible  <bruno@clisp.org>
2169
2170         * lib/fflush.c: Add comments.
2171         * modules/fpurge-tests (Depends-on): Add fflush.
2172         * modules/freadable-tests (Depends-on): Likewise.
2173         * modules/fwritable-tests (Depends-on): Likewise.
2174
2175 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
2176
2177         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
2178         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
2179         Report by Bruno Haible <bruno@clisp.org>.
2180
2181 2007-04-26  Eric Blake  <ebb9@byu.net>
2182
2183         Fix fflush on mingw.
2184         * modules/fflush (Depends-on): Add freading.
2185         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
2186         but unread data.
2187
2188 2007-04-26  Eric Blake  <ebb9@byu.net>
2189         and Bruno Haible  <bruno@clisp.org>
2190
2191         Implement freading and fwriting.
2192         * lib/freading.c: New file.
2193         * lib/freading.h: Likewise.
2194         * m4/freading.m4: Likewise.
2195         * modules/freading: Likewise.
2196         * modules/freading-tests: Likewise.
2197         * tests/test-freading.c: Likewise.
2198         * lib/fwriting.c: New file.
2199         * lib/fwriting.h: Likewise.
2200         * m4/fwriting.m4: Likewise.
2201         * modules/fwriting: Likewise.
2202         * modules/fwriting-tests: Likewise.
2203         * tests/test-fwriting.c: Likewise.
2204         * MODULES.html.sh (File stream based Input/Output): Mention them.
2205
2206 2007-04-26  Bruno Haible  <bruno@clisp.org>
2207
2208         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
2209         'long' when we assume it.
2210         Suggested by Eric Blake.
2211
2212 2007-04-26  Bruno Haible  <bruno@clisp.org>
2213
2214         Ensure fseeko, ftello are declared on glibc systems.
2215         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
2216         * modules/fseeko (configure.ac-early): Likewise.
2217         * modules/ftello (configure.ac-early): Likewise.
2218         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
2219         AC_FUNC_FSEEKO for this.
2220         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
2221         (gl_CHECK_FSEEKO): Remove macro.
2222
2223 2007-04-26  Bruno Haible  <bruno@clisp.org>
2224
2225         * tests/test-fflush.c (main): Also check the ftell result after
2226         fflush and fseek/fseeko.
2227         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
2228         file descriptor position cache in the stream.
2229         * lib/fseeko.c (rpl_fseeko): Likewise.
2230
2231 2007-04-26  Bruno Haible  <bruno@clisp.org>
2232
2233         * modules/fflush-tests (Depends-on): Add fseeko.
2234
2235 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
2236             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2237
2238         * lib/argz_.h: ensure error_t definition is obtained in same
2239         mechanism system argz.h would have.
2240         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
2241         argz facilities are known bad.  Err on the side of caution if
2242         cross-compiling.
2243
2244 2007-04-25  Eric Blake  <ebb9@byu.net>
2245
2246         * lib/fpurge.c (includes): Use stdlib.h for free.
2247         * tests/test-fflush.c (main): Also test fflush-fseeko.
2248
2249 2007-04-25  Bruno Haible  <bruno@clisp.org>
2250
2251         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
2252         * lib/fseeko.c: New file.
2253         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
2254         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
2255         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
2256         gl_FUNC_FSEEKO.
2257         (gl_FUNC_FSEEKO): Invoke it.
2258         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
2259         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
2260         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
2261
2262 2007-04-25  Bruno Haible  <bruno@clisp.org>
2263
2264         * modules/fflush (Depends-on): Add ftello.
2265
2266 2007-04-25  Bruno Haible  <bruno@clisp.org>
2267
2268         * modules/ftello-tests: New file.
2269         * tests/test-ftello.c: New file.
2270
2271         * modules/ftello: New file.
2272         * m4/ftello.m4: New file.
2273         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
2274         HAVE_FTELLO.
2275         * lib/stdio_.h (ftello): New declaration.
2276         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
2277         HAVE_FTELLO.
2278
2279 2007-04-25  Bruno Haible  <bruno@clisp.org>
2280
2281         * modules/fseeko-tests: New file.
2282         * tests/test-fseeko.c: New file.
2283
2284         * modules/fseeko: New file.
2285         * m4/fseeko.m4: New file.
2286         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
2287         HAVE_FSEEKO.
2288         * lib/stdio_.h (fseeko): New declaration.
2289         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
2290         HAVE_FSEEKO.
2291
2292 2007-04-25  Bruno Haible  <bruno@clisp.org>
2293
2294         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
2295
2296 2007-04-25  Bruno Haible  <bruno@clisp.org>
2297
2298         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
2299         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
2300         * tests/test-unistd.c: Likewise.
2301         * tests/test-fcntl.c: Likewise.
2302
2303 2007-04-23  Eric Blake  <ebb9@byu.net>
2304
2305         * lib/fflush.c: Fix missing include.
2306         Reported by Bruno Haible.
2307
2308 2007-04-23  Bruno Haible  <bruno@clisp.org>
2309
2310         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
2311         Reported by Eric Blake.
2312
2313 2007-04-23  Bruno Haible  <bruno@clisp.org>
2314
2315         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
2316
2317 2007-04-23  Bruno Haible  <bruno@clisp.org>
2318
2319         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
2320
2321 2007-04-23  Bruno Haible  <bruno@clisp.org>
2322
2323         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
2324         Needed on HP-UX 11.
2325
2326 2007-04-16  Eric Blake  <ebb9@byu.net>
2327
2328         Make fflush rely on fpurge.
2329         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
2330         open coding all variants.
2331         * modules/fflush (Depends-on): Add fpurge and unistd.
2332         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
2333         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
2334
2335         Fix --with-tests compilation on cygwin.
2336         * modules/argmatch-tests (Makefile.am): List gnulib library first
2337         in LDADD.
2338         * modules/argp-tests (Makefile.am): Likewise.
2339         * modules/array-list-tests (Makefile.am): Likewise.
2340         * modules/array-oset-tests (Makefile.am): Likewise.
2341         * modules/avltree-list-tests (Makefile.am): Likewise.
2342         * modules/avltree-oset-tests (Makefile.am): Likewise.
2343         * modules/avltreehash-list-tests (Makefile.am): Likewise.
2344         * modules/carray-list-tests (Makefile.am): Likewise.
2345         * modules/dirname-tests (Makefile.am): Likewise.
2346         * modules/frexp-tests (Makefile.am): Likewise.
2347         * modules/isnanl-tests (Makefile.am): Likewise.
2348         * modules/linked-list-tests (Makefile.am): Likewise.
2349         * modules/linkedhash-list-tests (Makefile.am): Likewise.
2350         * modules/lock-tests (Makefile.am): Likewise.
2351         * modules/rbtree-list-tests (Makefile.am): Likewise.
2352         * modules/rbtree-oset-tests (Makefile.am): Likewise.
2353         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
2354         * modules/tls-tests (Makefile.am): Likewise.
2355         * modules/tsearch-tests (Makefile.am): Likewise.
2356         * modules/xvasprintf-tests (Makefile.am): Likewise.
2357
2358         Fix fpurge for cygwin.
2359         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
2360         value.
2361         * modules/fpurge-tests (Depends-on): Clean up trash.
2362
2363 2007-04-16  Simon Josefsson  <simon@josefsson.org>
2364
2365         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
2366
2367         * m4/autobuild.m4: Re-indent.
2368
2369 2007-04-13  Bruno Haible  <bruno@clisp.org>
2370
2371         * modules/fpurge-tests: New file.
2372         * tests/test-fpurge.c: New file.
2373
2374         * modules/fpurge: New file.
2375         * lib/fpurge.h: New file.
2376         * lib/fpurge.c: New file.
2377         * m4/fpurge.m4: New file.
2378
2379 2007-04-13  Bruno Haible  <bruno@clisp.org>
2380
2381         * modules/fbufmode-tests: New file.
2382         * tests/test-fbufmode.c: New file.
2383
2384         * modules/fbufmode: New file.
2385         * lib/fbufmode.h: New file.
2386         * lib/fbufmode.c: New file.
2387         * m4/fbufmode.m4: New file.
2388
2389 2007-04-13  Bruno Haible  <bruno@clisp.org>
2390
2391         * modules/fwritable-tests: New file.
2392         * tests/test-fwritable.c: New file.
2393
2394         * modules/fwritable: New file.
2395         * lib/fwritable.h: New file.
2396         * lib/fwritable.c: New file.
2397         * m4/fwritable.m4: New file.
2398
2399 2007-04-13  Bruno Haible  <bruno@clisp.org>
2400
2401         * modules/freadable-tests: New file.
2402         * tests/test-freadable.c: New file.
2403
2404         * modules/freadable: New file.
2405         * lib/freadable.h: New file.
2406         * lib/freadable.c: New file.
2407         * m4/freadable.m4: New file.
2408
2409 2007-04-13  Bruno Haible  <bruno@clisp.org>
2410
2411         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
2412         MOSTLYCLEANFILES.
2413
2414 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
2415
2416         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
2417         gzip bootstrap.conf to avoid dragging in i18n machinery.
2418         (gnulib_tool_option): Use it.
2419
2420 2007-04-13  Bruno Haible  <bruno@clisp.org>
2421
2422         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
2423         %F directives.
2424         * tests/test-vasprintf-posix.c (test_function): Likewise.
2425         * tests/test-snprintf-posix.h (test_function): Likewise.
2426         * tests/test-sprintf-posix.h (test_function): Likewise.
2427         * tests/test-fprintf-posix.h (test_function): Likewise.
2428         * tests/test-printf-posix.h (test_function): Likewise.
2429         * tests/test-fprintf-posix.out: Likewise.
2430
2431 2007-04-13  Bruno Haible  <bruno@clisp.org>
2432
2433         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
2434         * modules/tls-tests (configure.ac): Likewise.
2435         Reported by Arto C. Nirkko <anirkko@insel.ch>.
2436
2437 2007-04-13  Bruno Haible  <bruno@clisp.org>
2438
2439         * lib/tls.c (glthread_tls_get): Fix return type.
2440         Patch by Arto C. Nirkko <anirkko@insel.ch>.
2441
2442 2007-04-12  Eric Blake  <ebb9@byu.net>
2443
2444         * modules/gettime (Depends-on): Remove gettime.
2445         Reported by Dmitry V. Levin.
2446
2447 2007-04-12  Bruno Haible  <bruno@clisp.org>
2448
2449         * modules/fflush (Include): Mention <stdio.h>.
2450         * modules/strtoimax (Include): Mention <inttypes.h>.
2451         * modules/strtoumax (Include): Likewise.
2452
2453 2007-04-12  Eric Blake  <ebb9@byu.net>
2454
2455         * .cvsignore: New file.
2456         * .gitignore: Likewise.
2457
2458 2007-04-12  Bruno Haible  <bruno@clisp.org>
2459
2460         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
2461         not before, since $(LDADD) often contains libgnu.a.
2462         * modules/striconv-tests (test_striconv_LDADD): Likewise.
2463         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
2464         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
2465         Needed on Cygwin.
2466
2467 2007-04-12  Eric Blake  <ebb9@byu.net>
2468
2469         Work around glibc's failure to flush stdin on fclose.
2470         * lib/closein.c (close_stdin): Flush stdin before closing.
2471
2472         Work around glibc's failure to reset seekable stdin on exit.
2473         * modules/closein: New module.
2474         * lib/closein.c: New file.
2475         * lib/closein.h: Likewise.
2476         * m4/closein.m4: Likewise.
2477         * MODULES.html.sh (File stream based Input/Output): Document it.
2478
2479 2007-04-12  Simon Josefsson  <simon@josefsson.org>
2480
2481         * gnulib-tool: Rename generated 'autobuild' script to
2482         'do-autobuild' in --create-megatestdir output.
2483
2484         * doc/gnulib.texi (Build robot for gnulib): Fix.
2485
2486 2007-04-12  Simon Josefsson  <simon@josefsson.org>
2487
2488         * modules/sysexits (Depends-on): Add absolute-header.
2489
2490 2007-04-12  Eric Blake  <ebb9@byu.net>
2491
2492         No need to preserve errno on success.
2493         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
2494         Reported by Bruno Haible.
2495
2496 2007-04-12  Simon Josefsson  <simon@josefsson.org>
2497
2498         * MODULES.html.sh (Support for maintaining and releasing
2499         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
2500
2501 2007-04-12  Simon Josefsson  <simon@josefsson.org>
2502
2503         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
2504
2505 2007-04-12  Simon Josefsson  <simon@josefsson.org>
2506
2507         * modules/autobuild: New module.
2508
2509         * m4/autobuild.m4: New file.
2510
2511 2007-04-11  Bruno Haible  <bruno@clisp.org>
2512
2513         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
2514         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
2515         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
2516         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
2517         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
2518         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
2519         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
2520         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
2521         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
2522         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
2523         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
2524         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
2525         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
2526         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
2527         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
2528         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
2529         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
2530         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
2531         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
2532         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
2533         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
2534         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
2535         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
2536         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
2537         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
2538         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
2539         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
2540         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
2541         Reported by Eric Blake.
2542
2543 2007-04-11  Bruno Haible  <bruno@clisp.org>
2544
2545         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
2546
2547 2007-04-10  Bruno Haible  <bruno@clisp.org>
2548
2549         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
2550         for NaN and Infinity. Needed on FreeBSD 6.1.
2551         * tests/test-vasnprintf-posix.c (test_function): Undo last change
2552         regarding results for "%010a" of Infinity and NaN.
2553         * tests/test-vasprintf-posix.c (test_function): Likewise.
2554         * tests/test-snprintf-posix.h (test_function): Likewise.
2555         * tests/test-sprintf-posix.h (test_function): Likewise.
2556         * tests/test-fprintf-posix.h (test_function): Likewise.
2557         * tests/test-printf-posix.h (test_function): Likewise.
2558         * tests/test-fprintf-posix.out: Likewise.
2559
2560 2007-04-10  Bruno Haible  <bruno@clisp.org>
2561
2562         * modules/locale-tests: New file.
2563         * tests/test-locale.c: New file.
2564
2565         * modules/locale: New file.
2566         * lib/locale_.h: New file.
2567         * m4/locale_h.m4: New file.
2568
2569 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
2570             Bruno Haible  <bruno@clisp.org>
2571
2572         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
2573         be determined, test for availability of the copysignf, copysign,
2574         copysignl functions.
2575         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
2576         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
2577         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
2578
2579 2007-04-09  Eric Blake  <ebb9@byu.net>
2580
2581         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
2582         * modules/stdio (Makefile.am): Support fflush.
2583         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
2584         * modules/fflush: New file.
2585         * lib/fflush.c: Likewise.
2586         * m4/fflush.m4: Likewise.
2587         * modules/fflush-tests: New test.
2588         * tests/test-fflush.c: Likewise.
2589         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
2590
2591 2007-04-06  Bruno Haible  <bruno@clisp.org>
2592
2593         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
2594         (VASNPRINTF): Use signbit for faster determination whether to print a
2595         minus sign.
2596         * modules/vasnprintf (Files): Remove lib/float+.h.
2597         * modules/fprintf-posix (Depends-on): Add signbit.
2598         * modules/snprintf-posix (Depends-on): Likewise.
2599         * modules/sprintf-posix (Depends-on): Likewise.
2600         * modules/vasnprintf-posix (Depends-on): Likewise.
2601         * modules/vasprintf-posix (Depends-on): Likewise.
2602         * modules/vfprintf-posix (Depends-on): Likewise.
2603         * modules/vsnprintf-posix (Depends-on): Likewise.
2604         * modules/vsprintf-posix (Depends-on): Likewise.
2605
2606 2007-04-06  Bruno Haible  <bruno@clisp.org>
2607
2608         * tests/test-frexp.c (main): Test also the sign bit of zero results.
2609         * tests/test-frexpl.c (main): Likewise.
2610         * tests/test-ldexpl.c (main): Likewise.
2611         * modules/frexp-tests (Depends-on): Add signbit.
2612         * modules/frexpl-tests (Depdends-on): Likewise.
2613         * modules/ldexpl-tests (Depdends-on): Likewise.
2614
2615 2007-04-06  Bruno Haible  <bruno@clisp.org>
2616
2617         * modules/signbit-tests: New file.
2618         * tests/test-signbit.c: New file.
2619
2620         * modules/signbit: New file.
2621         * lib/signbitf.c: New file.
2622         * lib/signbitd.c: New file.
2623         * lib/signbitl.c: New file.
2624         * m4/signbit.m4: New file.
2625         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
2626         (signbit): New macro.
2627         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
2628         REPLACE_SIGNBIT.
2629         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
2630         REPLACE_FREXPL into math.h.
2631
2632 2007-04-06  Bruno Haible  <bruno@clisp.org>
2633
2634         * modules/isnanf-nolibm-tests: New file.
2635         * tests/test-isnanf.c: New file.
2636
2637         * modules/isnanf-nolibm: New file.
2638         * lib/isnanf.h: New file.
2639         * lib/isnanf.c: New file.
2640         * lib/isnan.c: Consider the USE_FLOAT macro.
2641         * m4/isnanf.m4: New file.
2642
2643 2007-04-06  Bruno Haible  <bruno@clisp.org>
2644
2645         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
2646         (Link): New section.
2647
2648         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
2649
2650 2007-04-06  Bruno Haible  <bruno@clisp.org>
2651
2652         Assume the 'long double' type.
2653         * m4/longdouble.m4: Remove file.
2654         * config/srclist.txt: Don't mention longdouble.m4.
2655         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
2656         * lib/float+.h: Likewise.
2657         * lib/frexp.c: Likewise.
2658         * lib/printf-args.h: Likewise.
2659         * lib/printf-args.c: Likewise.
2660         * lib/printf-frexp.c: Likewise.
2661         * lib/printf-parse.c: Likewise.
2662         * lib/vasnprintf.c: Likewise.
2663         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
2664         * m4/intl.m4: Likewise.
2665         * m4/isnanl.m4: Likewise.
2666         * m4/printf.m4: Likewise.
2667         * m4/printf-frexpl.m4: Likewise.
2668         * m4/vasnprintf.m4: Likewise.
2669         * modules/allocsa (Files): Remove m4/longdouble.m4.
2670         * modules/gettext (Files): Likewise.
2671         * modules/relocatable-prog-wrapper (Files): Likewise.
2672         * modules/vasnprintf (Files): Likewise.
2673         * modules/isnanl (Files): Likewise.
2674         (Include): Simplify.
2675         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
2676         (Include): Simplify.
2677         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
2678         (Include): Simplify.
2679         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
2680         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
2681         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
2682         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
2683         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
2684         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
2685         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
2686         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
2687         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
2688         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
2689         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
2690         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
2691         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
2692         * tests/test-isnanl.c: Likewise.
2693         * tests/test-snprintf-posix.h: Likewise.
2694         * tests/test-sprintf-posix.h: Likewise.
2695         * tests/test-vasnprintf-posix.c: Likewise.
2696         * tests/test-vasnprintf-posix2.c: Likewise.
2697         * tests/test-vasprintf-posix.c: Likewise.
2698
2699 2007-04-06  Bruno Haible  <bruno@clisp.org>
2700
2701         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
2702         * lib/math_.h [__DECC]: Include the overridden include file through
2703         #include_next, outside the double-inclusion guard.
2704         * lib/stdio_.h [__DECC]: Likewise.
2705         * lib/stdlib_.h [__DECC]: Likewise.
2706         * lib/string_.h [__DECC]: Likewise.
2707         * lib/time_.h [__DECC]: Likewise.
2708         * lib/wchar_.h [__DECC]: Likewise.
2709         * lib/wctype_.h [__DECC]: Likewise.
2710         * lib/inttypes_.h [__DECC]: Likewise.
2711         Reported by Albert Chin <china@thewrittenword.com> in
2712         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
2713
2714 2007-04-04  Eric Blake  <ebb9@byu.net>
2715
2716         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
2717         1.5.x.
2718
2719 2007-04-04  Bruno Haible  <bruno@clisp.org>
2720
2721         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
2722         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
2723
2724 2007-04-04  Bruno Haible  <bruno@clisp.org>
2725
2726         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
2727         results for "%010a" of Infinity and NaN.
2728         * tests/test-vasprintf-posix.c (test_function): Likewise.
2729         * tests/test-snprintf-posix.h (test_function): Likewise.
2730         * tests/test-sprintf-posix.h (test_function): Likewise.
2731         * tests/test-fprintf-posix.h (test_function): Remove these tests.
2732         * tests/test-printf-posix.h (test_function): Likewise.
2733         * tests/test-fprintf-posix.out: Update.
2734         Needed for FreeBSD 6.1.
2735
2736 2007-04-04  Bruno Haible  <bruno@clisp.org>
2737
2738         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
2739         directly used by the gnulib modules nor by gnulib-tool.
2740
2741 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
2742
2743         * DEPENDENCIES: Give overall description of version dependency
2744         desirability.  Use more-typical names for apps.
2745         Add shell, coreutils, diffutils, grep, tar, gzip.
2746
2747 2007-04-04  Simon Josefsson  <simon@josefsson.org>
2748
2749         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
2750
2751 2007-04-04  Karl Berry  <karl@gnu.org>
2752
2753         * MODULES.html.sh (func_module): missing '.
2754
2755 2007-04-03  Bruno Haible  <bruno@clisp.org>
2756
2757         * modules/argmatch-tests (Makefile.am): New variable
2758         test_argmatch_LDADD.
2759         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
2760         * modules/array-list-tests (Makefile.am): New variable
2761         test_array_list_LDADD.
2762         * modules/array-oset-tests (Makefile.am): New variable
2763         test_array_oset_LDADD.
2764         * modules/avltree-list-tests (Makefile.am): New variable
2765         test_avltree_list_LDADD.
2766         * modules/avltree-oset-tests (Makefile.am): New variable
2767         test_avltree_oset_LDADD.
2768         * modules/avltreehash-list-tests (Makefile.am): New variable
2769         test_avltreehash_list_LDADD.
2770         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
2771         test_canonicalize_lgpl_LDADD.
2772         * modules/carray-list-tests (Makefile.am): New variable
2773         test_carray_list_LDADD.
2774         * modules/dirname-tests (Makefile.am): New variable
2775         test_dirname_LDADD.
2776         * modules/linked-list-tests (Makefile.am): New variable
2777         test_linked_list_LDADD.
2778         * modules/linkedhash-list-tests (Makefile.am): New variable
2779         test_linkedhash_list_LDADD.
2780         * modules/rbtree-list-tests (Makefile.am): New variable
2781         test_rbtree_list_LDADD.
2782         * modules/rbtree-oset-tests (Makefile.am): New variable
2783         test_rbtree_oset_LDADD.
2784         * modules/rbtreehash-list-tests (Makefile.am): New variable
2785         test_rbtreehash_list_LDADD.
2786         * modules/xvasprintf-tests (Makefile.am): New variable
2787         test_xvasprintf_LDADD.
2788         Reported by Eric Blake.
2789
2790 2007-04-03  Eric Blake  <ebb9@byu.net>
2791
2792         * DEPENDENCIES: Weaken m4 requirements.
2793
2794 2007-04-03  Bruno Haible  <bruno@clisp.org>
2795
2796         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
2797         * modules/isnanl-tests (configure.ac): Likewise.
2798
2799 2007-04-03  Ben Pfaff  <blp@gnu.org>
2800
2801         * modules/iconv_open: Add $(srcdir)/ to source directory
2802         references in Makefile fragments that call gperf, to fix VPATH
2803         builds.
2804
2805 2007-04-03  Bruno Haible  <bruno@clisp.org>
2806
2807         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
2808         * lib/ldexpl.c: Undo last change.
2809
2810 2007-04-03  Bruno Haible  <bruno@clisp.org>
2811
2812         * modules/printf-frexpl (Depends-on): Undo last change.
2813         (Files): Add m4/ldexpl.m4.
2814
2815 2007-04-03  Bruno Haible  <bruno@clisp.org>
2816
2817         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
2818         * modules/isnanl (Link): New section.
2819
2820         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
2821         * modules/frexp (Link): New section.
2822
2823         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
2824         * modules/frexpl (Link): New section.
2825
2826         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
2827         * modules/ldexpl (Link): New section.
2828
2829 2007-04-03  Bruno Haible  <bruno@clisp.org>
2830
2831         * modules/TEMPLATE-EXTENDED: New file.
2832         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
2833
2834 2007-04-03  Bruno Haible  <bruno@clisp.org>
2835
2836         * DEPENDENCIES: New file.
2837         Suggested by Simon Josefsson.
2838
2839 2007-04-03  Bruno Haible  <bruno@clisp.org>
2840
2841         * doc/gnulib.texi: Escape @.
2842
2843 2007-04-03  James Youngman  <jay@gnu.org>
2844         and Paul Eggert  <eggert@cs.ucla.edu>
2845
2846         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
2847         birthtime on all systems that have birthtime, not just those which
2848         use st_birthtimensec rather than st_birthtim.  Putting zero in
2849         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
2850         that the birth time is not available for files on an NFS mount.
2851
2852 2007-04-03  Simon Josefsson  <simon@josefsson.org>
2853
2854         * modules/memxor: Move back from crypto/, suggested by Bruno.
2855         * modules/crypto/hmac-sha1: Fix memxor dependency.
2856
2857         * modules/crypto/gc: Moved from ../.
2858
2859 2007-04-02  Eric Blake  <ebb9@byu.net>
2860
2861         * lib/ldexpl.c (includes): Avoid libm.
2862
2863         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
2864
2865 2007-04-02  Bruno Haible  <bruno@clisp.org>
2866
2867         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
2868         on IRIX.
2869
2870 2007-04-02  Bruno Haible  <bruno@clisp.org>
2871
2872         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
2873         x86 or x86_64 platforms running MacOS X.
2874         Reported by Ryan Schmidt <@ryandesign.com>.
2875
2876 2007-04-02  Bruno Haible  <bruno@clisp.org>
2877
2878         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
2879         i386.
2880
2881 2007-04-01  Simon Josefsson  <simon@josefsson.org>
2882
2883         * modules/crypto/arcfour: Moved from ../.
2884         * modules/crypto/arcfour-tests: Moved from ../.
2885         * modules/crypto/arctwo: Moved from ../.
2886         * modules/crypto/arctwo-tests: Moved from ../.
2887         * modules/crypto/des: Moved from ../.
2888         * modules/crypto/des-tests: Moved from ../.
2889         * modules/crypto/gc-arcfour: Moved from ../.
2890         * modules/crypto/gc-arcfour-tests: Moved from ../.
2891         * modules/crypto/gc-arctwo: Moved from ../.
2892         * modules/crypto/gc-arctwo-tests: Moved from ../.
2893         * modules/crypto/gc-des: Moved from ../.
2894         * modules/crypto/gc-des-tests: Moved from ../.
2895         * modules/crypto/gc-hmac-md5: Moved from ../.
2896         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
2897         * modules/crypto/gc-hmac-sha1: Moved from ../.
2898         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
2899         * modules/crypto/gc-md2: Moved from ../.
2900         * modules/crypto/gc-md2-tests: Moved from ../.
2901         * modules/crypto/gc-md4: Moved from ../.
2902         * modules/crypto/gc-md4-tests: Moved from ../.
2903         * modules/crypto/gc-md5: Moved from ../.
2904         * modules/crypto/gc-md5-tests: Moved from ../.
2905         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
2906         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
2907         * modules/crypto/gc-random: Moved from ../.
2908         * modules/crypto/gc-rijndael: Moved from ../.
2909         * modules/crypto/gc-rijndael-tests: Moved from ../.
2910         * modules/crypto/gc-sha1: Moved from ../.
2911         * modules/crypto/gc-sha1-tests: Moved from ../.
2912         * modules/crypto/gc-tests: Moved from ../.
2913         * modules/crypto/hmac-md5: Moved from ../.
2914         * modules/crypto/hmac-md5-tests: Moved from ../.
2915         * modules/crypto/hmac-sha1: Moved from ../.
2916         * modules/crypto/hmac-sha1-tests: Moved from ../.
2917         * modules/crypto/md2: Moved from ../.
2918         * modules/crypto/md2-tests: Moved from ../.
2919         * modules/crypto/md4: Moved from ../.
2920         * modules/crypto/md4-tests: Moved from ../.
2921         * modules/crypto/md5: Moved from ../.
2922         * modules/crypto/md5-tests: Moved from ../.
2923         * modules/crypto/memxor: Moved from ../.
2924         * modules/crypto/rijndael: Moved from ../.
2925         * modules/crypto/rijndael-tests: Moved from ../.
2926         * modules/crypto/sha1: Moved from ../.
2927
2928 2007-03-30  James Youngman  <jay@gnu.org>
2929
2930         * tests/test-stat-time.c (prepare_test): use chmod() rather than
2931         rename() to change the ctime of a file (because ctime is unaffected
2932         by rename on jfs2 on AIX 5.1).
2933         (main): Start by doing cleanup, in case a previous run failed leaving
2934         test files behind.
2935
2936 2007-03-31  Bruno Haible  <bruno@clisp.org>
2937
2938         Support old proprietary implementations of iconv.
2939         * modules/iconv_open: New file.
2940         * lib/iconv_.h: New file.
2941         * m4/iconv_h.m4: New file.
2942         * lib/iconv_open.c: New file.
2943         * lib/iconv_open-aix.gperf: New file.
2944         * lib/iconv_open-hpux.gperf: New file.
2945         * lib/iconv_open-irix.gperf: New file.
2946         * lib/iconv_open-osf.gperf: New file.
2947         * m4/iconv_open.m4: New file.
2948         * modules/linebreak (Depends-on): Add iconv_open.
2949         * modules/striconv (Depends-on): Likewise.
2950         * modules/striconveh (Depends-on): Likewise.
2951         * modules/unicodeio (Depends-on): Likewise.
2952         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
2953         (iconv_t)(-1).
2954         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
2955         conversion if cd is (iconv_t)(-1).
2956         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
2957         is not possible.
2958
2959 2007-03-31  Bruno Haible  <bruno@clisp.org>
2960
2961         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
2962         work on Solaris either. Protect also second use of "autodetect_jp".
2963
2964 2007-03-31  Bruno Haible  <bruno@clisp.org>
2965
2966         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
2967         the function is not present.
2968
2969 2007-03-31  Bruno Haible  <bruno@clisp.org>
2970
2971         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
2972         the function is not present.
2973
2974 2007-03-31  Bruno Haible  <bruno@clisp.org>
2975
2976         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
2977         a bug in HP-UX iconv_open().
2978
2979 2007-03-31  Bruno Haible  <bruno@clisp.org>
2980
2981         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
2982         (Mathematics <math.h>): New section, add fpieee.
2983         (Input/output <stdio.h>): Add fseterr.
2984         (Mathematics <math.h>): New section, add printf-frexp.
2985         (Container data structures): Add sublist.
2986         (Core language properties): Add fpucw, inline.
2987         (Functions for greatest-width integer types <inttypes.h>): Add
2988         imaxabs, imaxdiv, inttypes.
2989         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
2990         isnanl-nolibm, ldexp.
2991         (Mathematics <math.h>): New section, add printf-frexpl.
2992         (Support for systems lacking POSIX:2001): Add fprintf-posix,
2993         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
2994         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
2995         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
2996         (Unicode string functions): Add unistr/u*-mbtoucr.
2997         (Java): Add javacomp-script, javaexec-script.
2998         (C#): Add csharpcomp-script, csharpexec-script.
2999         (Support for building libraries and executables): Add havelib,
3000         relocatable-*.
3001         (Support for maintaining and releasing projects): Renamed from
3002         'Support for maintaining and release projects'. Add announce-gen.
3003
3004 2007-03-31  Bruno Haible  <bruno@clisp.org>
3005
3006         * README: Talk primarily about git.
3007         (git and CVS): Renamed from CVS.
3008         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
3009         gnulib is available through git.
3010         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
3011
3012 2007-03-30  Bruno Haible  <bruno@clisp.org>
3013
3014         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
3015         * lib/poll_.h: Likewise.
3016         * lib/stat_.h: Likewise.
3017         * lib/sys_time_.h: Likewise.
3018         * lib/sysexit_.h: Likewise.
3019         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
3020         * lib/stdbool_.h: Likewise.
3021         * lib/byteswap_.h: Add double-inclusion guard.
3022
3023 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
3024
3025         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
3026
3027 2007-03-30  Karl Berry  <karl@gnu.org>
3028
3029         * config/srclist-update: double space after USA in the license
3030         substitution, since that's how it's usually (?) written.
3031
3032 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
3033
3034         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
3035         reported by Bruno Haible.
3036
3037 2007-03-29  Bruno Haible  <bruno@clisp.org>
3038
3039         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
3040         a bug in AIX iconv().
3041
3042 2007-03-29  Bruno Haible  <bruno@clisp.org>
3043
3044         * modules/ldexpl-tests: New file.
3045         * tests/test-ldexpl.c: New file.
3046
3047 2007-03-29  Bruno Haible  <bruno@clisp.org>
3048
3049         * lib/ldexpl.c: Include fpucw.h.
3050         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
3051         multiplication.
3052         * modules/ldexpl (Depends-on): Add fpucw.
3053
3054 2007-03-29  Bruno Haible  <bruno@clisp.org>
3055
3056         * modules/ldexpl: New file.
3057         * m4/ldexpl.m4: New file.
3058         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
3059         set.
3060         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
3061         REPLACE_LDEXPL.
3062         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
3063         REPLACE_LDEXPL.
3064         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
3065         gl_FUNC_LDEXPL_WORKS.
3066         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
3067         * modules/mathl (Files): Remove lib/ldexpl.c.
3068         (Depends-on): Add ldexpl.
3069
3070 2007-03-29  Bruno Haible  <bruno@clisp.org>
3071
3072         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
3073
3074 2007-03-29  Bruno Haible  <bruno@clisp.org>
3075
3076         * tests/test-striconveh.c (main): Don't assume that a direct conversion
3077         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
3078         and possibly also HP-UX.
3079         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
3080         work on AIX, IRIX, HP-UX, OSF/1.
3081         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
3082         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
3083         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
3084         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
3085         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
3086         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
3087
3088 2007-03-29  Bruno Haible  <bruno@clisp.org>
3089
3090         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
3091
3092 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
3093
3094         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
3095         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
3096
3097 2007-03-29  Eric Blake  <ebb9@byu.net>
3098
3099         * lib/acl-internal.h: Remove redundant include.
3100         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
3101         Cygwin when a file is locked.
3102
3103 2007-03-29  Bruno Haible  <bruno@clisp.org>
3104
3105         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
3106         file.
3107         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
3108
3109 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
3110
3111         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
3112         try to remove a parent directory if the child couldn't be removed
3113         (except for the first rmdir, which could fail because the child
3114         doesn't exist).  Problem reported by Jeff Blaine in
3115         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
3116
3117 2007-03-28  Bruno Haible  <bruno@clisp.org>
3118
3119         * lib/striconveh.c (utf8conv_carefully): New function.
3120         (mem_cd_iconveh_internal): Invoke it.
3121
3122 2007-03-28  Bruno Haible  <bruno@clisp.org>
3123
3124         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
3125         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
3126         input.
3127         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
3128         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
3129         unistr/u8-uctomb.
3130
3131 2007-03-28  Bruno Haible  <bruno@clisp.org>
3132
3133         * modules/unistr/u8-mbtoucr: New file.
3134         * lib/unistr/u8-mbtoucr.c: New file.
3135         * modules/unistr/u16-mbtoucr: New file.
3136         * lib/unistr/u16-mbtoucr.c: New file.
3137         * modules/unistr/u16-mbtoucr: New file.
3138         * lib/unistr/u16-mbtoucr.c: New file.
3139         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
3140
3141 2007-03-27  Simon Josefsson  <simon@josefsson.org>
3142             Bruno Haible  <bruno@clisp.org>
3143
3144         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
3145         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
3146         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
3147
3148         * m4/stdio_h.m4: Add stubs for vasprintf too.
3149
3150         * modules/stdio: Support vasprintf in sed command.
3151
3152         * modules/vasprintf: Depend on stdio for prototypes.  Remove
3153         vasprintf.h.  Add stdio module indicator.
3154
3155         * lib/stdio_.h: Declare asprintf and vasprintf, based on
3156         vasprintf.h.
3157
3158         * lib/vasprintf.h: File removed.
3159
3160         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
3161         * lib/vasprintf.c: Ditto.
3162         * lib/xvasprintf.c: Ditto.
3163         * tests/test-vasprintf-posix.c: Ditto.
3164         * tests/test-vasprintf.c: Ditto.
3165
3166 2007-03-27  Bruno Haible  <bruno@clisp.org>
3167
3168         Make vasnprintf multithread-safe.
3169         * lib/vasnprintf.c (decimal_point_char): New function.
3170         (VASNPRINTF): Use it.
3171         Suggested by Simon Josefsson.
3172
3173 2007-03-27  Eric Blake  <ebb9@byu.net>
3174
3175         Support sub-second birthtime on cygwin.
3176         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
3177         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
3178         (get_stat_birthtime): Also work with st_birthtim.
3179
3180 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
3181
3182         * lib/stat-time.h (USE_BIRTHTIME): Remove.
3183         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
3184         (get_stat_birthtime_ns): Do not try to use "spare" fields.
3185         (get_stat_birthtime_ns): Simplify compile-time tests.
3186         (get_stat_birthtime): Change the API to look like
3187         get_stat_mtime etc., except return a negative tv_nsec on error.
3188         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
3189         Don't check for "spare" fields.
3190         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
3191         or for struct stat.st_birthtime, as these tests aren't used.
3192         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
3193
3194 2007-03-27  Bruno Haible  <bruno@clisp.org>
3195
3196         * lib/stat-time.h: Include <sys/stat.h>.
3197
3198 2007-03-27  James Youngman  <jay@gnu.org>
3199
3200         * lib/stat-time.h (get_stat_birthtime): New function for
3201           retrieving st_birthtime as provided by UFS2 (hence *BSD).
3202         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
3203           and its variants.
3204         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
3205         * modules/stat-time-test: New file.
3206         * tests/test-stat-time.c: New test, devised by Bruno Haible.
3207
3208 2007-03-26  Bruno Haible  <bruno@clisp.org>
3209
3210         Better support of signalling NaNs.
3211         * lib/atanl.c: Include isnanl.h.
3212         (atanl): Perform test for NaN at the beginning of the function and
3213         through a call to isnanl.
3214         * lib/cosl.c: Include isnanl.h.
3215         (cosl): Perform test for NaN at the beginning of the function and
3216         through a call to isnanl.
3217         * lib/ldexpl.c: Include isnanl.h.
3218         (ldexpl): Perform test for NaN through a call to isnanl.
3219         * lib/logl.c: Include isnanl.h.
3220         (logl): Perform test for NaN at the beginning of the function and
3221         through a call to isnanl.
3222         * lib/sinl.c: Include isnanl.h.
3223         (sinl): Perform test for NaN at the beginning of the function and
3224         through a call to isnanl.
3225         * lib/sqrtl.c: Include isnanl.h.
3226         (sqrtl): Perform test for NaN at the beginning of the function and
3227         through a call to isnanl.
3228         * lib/tanl.c: Include isnanl.h.
3229         (tanl): Perform test for NaN at the beginning of the function and
3230         through a call to isnanl.
3231         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
3232         * modules/mathl (Depends-on): Add isnanl.
3233
3234 2007-03-26  Eric Blake  <ebb9@byu.net>
3235
3236         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
3237         regression in logic sense of previous patch.
3238
3239 2007-03-26  Bruno Haible  <bruno@clisp.org>
3240
3241         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
3242         unportable shell command "if ! ...".
3243         Reported by Ralf Wildenhues.
3244
3245 2007-03-25  Bruno Haible  <bruno@clisp.org>
3246
3247         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
3248         <sysexits.h> file, and only add EX_CONFIG.
3249         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
3250         absolute file name and whether it is sufficient. Substitute also
3251         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
3252         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
3253         ABSOLUTE_SYSEXITS_H into sysexits.h.
3254
3255 2007-03-25  Bruno Haible  <bruno@clisp.org>
3256
3257         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
3258         hints is NULL.
3259
3260 2007-03-25  Bruno Haible  <bruno@clisp.org>
3261
3262         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
3263         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
3264
3265 2007-03-25  Bruno Haible  <bruno@clisp.org>
3266
3267         * lib/vasnprintf.c: Include langinfo.h.
3268         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
3269         multithread-safe.
3270         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
3271         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
3272         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
3273         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
3274         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
3275         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
3276         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
3277         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
3278         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
3279         Reported by Simon Josefsson.
3280
3281 2007-03-25  Bruno Haible  <bruno@clisp.org>
3282
3283         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
3284         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
3285         * modules/vasnprintf (Depends-on): Add stdint.
3286
3287 2007-03-25  Bruno Haible  <bruno@clisp.org>
3288
3289         * modules/fpieee: New file.
3290         * m4/fpieee.m4: New file.
3291         * modules/isnan-nolibm (Depends-on): Add fpieee.
3292         * modules/isnanl-nolibm (Depends-on): Add fpieee.
3293         * modules/isnanl (Depends-on): Add fpieee.
3294
3295 2007-03-25  Bruno Haible  <bruno@clisp.org>
3296
3297         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
3298
3299 2007-03-25  Bruno Haible  <bruno@clisp.org>
3300
3301         Avoid test failures on IRIX 6.5.
3302         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
3303         (main): Use it.
3304         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
3305         macros.
3306         (main): Use them.
3307
3308 2007-03-25  Bruno Haible  <bruno@clisp.org>
3309
3310         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
3311         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
3312         exists but doesn't work.
3313         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
3314         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
3315         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
3316         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
3317
3318 2007-03-25  Bruno Haible  <bruno@clisp.org>
3319
3320         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
3321         returns inf. Needed on IRIX 6.5.
3322
3323 2007-03-25  Bruno Haible  <bruno@clisp.org>
3324
3325         * tests/test-frexpl.c: Include isnanl-nolibm.h.
3326         (main): Use isnanl instead of x != x idiom.
3327         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
3328
3329         * tests/test-frexp.c: Include isnan.h.
3330         (main): Use isnan instead of x != x idiom.
3331         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
3332
3333 2007-03-25  Bruno Haible  <bruno@clisp.org>
3334
3335         * tests/test-frexp.c (NaN): New function/macro.
3336         (main): Use it instead of 0.0 / 0.0.
3337         * tests/test-isnan.c (NaN): New function/macro.
3338         (main): Use it instead of 0.0 / 0.0.
3339         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
3340         (test_function): Use it instead of 0.0 / 0.0.
3341         * tests/test-vasprintf-posix.c (NaN): New function/macro.
3342         (test_function): Use it instead of 0.0 / 0.0.
3343         * tests/test-snprintf-posix.h (NaN): New function/macro.
3344         (test_function): Use it instead of 0.0 / 0.0.
3345         * tests/test-sprintf-posix.h (NaN): New function/macro.
3346         (test_function): Use it instead of 0.0 / 0.0.
3347         * tests/test-fprintf-posix.h (NaN): New function/macro.
3348         (test_function): Use it instead of 0.0 / 0.0.
3349         * tests/test-printf-posix.h (NaN): New function/macro.
3350         (test_function): Use it instead of 0.0 / 0.0.
3351
3352         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
3353
3354 2007-03-25  Bruno Haible  <bruno@clisp.org>
3355
3356         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
3357
3358 2007-03-25  Bruno Haible  <bruno@clisp.org>
3359
3360         * lib/regexec.c (merge_state_with_log): Make static.
3361
3362 2007-03-25  Bruno Haible  <bruno@clisp.org>
3363
3364         * lib/trigl.c (kernel_rem_pio2): Make static.
3365
3366 2007-03-25  Bruno Haible  <bruno@clisp.org>
3367
3368         * lib/sincosl.c (sincosl_table): Make static.
3369
3370 2007-03-25  Bruno Haible  <bruno@clisp.org>
3371
3372         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
3373         if the compiler does not support C99.
3374
3375 2007-03-25  Bruno Haible  <bruno@clisp.org>
3376
3377         * modules/time (Makefile.am): Ensure all rule action lines start with a
3378         tab.
3379
3380 2007-03-24  Bruno Haible  <bruno@clisp.org>
3381
3382         * modules/tsearch-tests: New file.
3383         * tests/test-tsearch.sh: New file.
3384         * tests/test-tsearch.c: New file, mostly copied from glibc.
3385
3386         * modules/search-tests: New file.
3387         * tests/test-search.c: New file.
3388
3389         * modules/search: New file.
3390         * lib/search_.h: New file, incorporating lib/tsearch.h.
3391         * m4/search_h.m4: New file.
3392         * lib/tsearch.h: Remove file.
3393         * lib/tsearch.c: Include search.h instead of tsearch.h.
3394         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
3395         HAVE_TSEARCH.
3396         * modules/tsearch (Files): Remove lib/tsearch.h.
3397         (Depends-on): Add search.
3398         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
3399         (Include): Change tsearch.h into search.h.
3400
3401 2007-03-24  Bruno Haible  <bruno@clisp.org>
3402
3403         * modules/fpucw: New file.
3404         * lib/fpucw.h: New file.
3405         * lib/frexp.c: Include fpucw.h.
3406         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
3407         (FUNC): Use them.
3408         * lib/printf-frexp.c: Include fpucw.h.
3409         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
3410         (FUNC): Use them.
3411         * lib/vasnprintf.c: Include fpucw.h.
3412         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
3413         'long double' calculations.
3414         * tests/test-frexpl.c: Include fpucw.h.
3415         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
3416         * tests/test-printf-frexpl.c: Include fpucw.h.
3417         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
3418         * modules/frexpl (Depends-on): Add fpucw.
3419         * modules/printf-frexpl (Depends-on): Likewise.
3420         * modules/fprintf-posix (Depends-on): Likewise.
3421         * modules/snprintf-posix (Depends-on): Likewise.
3422         * modules/sprintf-posix (Depends-on): Likewise.
3423         * modules/vasnprintf-posix (Depends-on): Likewise.
3424         * modules/vasprintf-posix (Depends-on): Likewise.
3425         * modules/vfprintf-posix (Depends-on): Likewise.
3426         * modules/vsnprintf-posix (Depends-on): Likewise.
3427         * modules/vsprintf-posix (Depends-on): Likewise.
3428         * modules/frexpl-tests (Depends-on): Likewise.
3429         * modules/printf-frexpl-tests (Depends-on): Likewise.
3430
3431 2007-03-24  Bruno Haible  <bruno@clisp.org>
3432
3433         * lib/float+.h: New file.
3434         * lib/isnan.c: Include float+.h.
3435         (SIZE): New macro.
3436         (FUNC): Compare only SIZE bytes of the value.
3437         * lib/vasnprintf.c: Include float+.h.
3438         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
3439         SIZEOF_LDBL or SIZEOF_DBL bytes.
3440         * modules/isnan-nolibm (Files): Add lib/float+.h.
3441         * modules/isnanl-nolibm (Files): Add lib/float+.h.
3442         * modules/isnanl (Files): Add lib/float+.h.
3443         * modules/vasnprintf (Files): Add lib/float+.h.
3444
3445 2007-03-24  Bruno Haible  <bruno@clisp.org>
3446
3447         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
3448         include isnanl-nolibm.h.
3449
3450 2007-03-24  Bruno Haible  <bruno@clisp.org>
3451
3452         * tests/test-read-file.c (main): Don't produce spurious output for
3453         expected situations. Make the test fail if it encountered unexpected
3454         results.
3455
3456 2007-03-24  Bruno Haible  <bruno@clisp.org>
3457
3458         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
3459         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
3460
3461 2007-03-24  Bruno Haible  <bruno@clisp.org>
3462
3463         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
3464
3465 2007-03-24  Bruno Haible  <bruno@clisp.org>
3466
3467         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
3468         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
3469
3470         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
3471         * modules/utf8-ucs4: Turn into a symbolic link to module
3472         unistr/u8-mbtouc.
3473
3474         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
3475         utf8-ucs4-unsafe.
3476         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
3477         unistr/u8-mbtouc-unsafe.
3478
3479         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
3480         * modules/utf16-ucs4: Turn into a symbolic link to module
3481         unistr/u16-mbtouc.
3482
3483         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
3484         utf16-ucs4-unsafe.
3485         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
3486         unistr/u16-mbtouc-unsafe.
3487
3488         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
3489         * modules/ucs4-utf8: Turn into a symbolic link to module
3490         unistr/u8-ubtomb.
3491
3492         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
3493         * modules/ucs4-utf16: Turn into a symbolic link to module
3494         unistr/u16-ubtomb.
3495
3496 2007-03-24  Bruno Haible  <bruno@clisp.org>
3497
3498         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
3499         Enable the function only if HAVE_INLINE.
3500         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
3501         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
3502         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
3503         Enable the function only if HAVE_INLINE.
3504         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
3505         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
3506         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
3507         Enable the function only if HAVE_INLINE.
3508         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
3509         Enable the function only if HAVE_INLINE.
3510         * modules/utf8-ucs4: Update.
3511         * modules/utf8-ucs4-unsafe: Update.
3512         * modules/utf16-ucs4: Update.
3513         * modules/utf16-ucs4-unsafe: Update.
3514         * modules/ucs4-utf8: Update.
3515         * modules/ucs4-utf16: Update.
3516
3517 2007-03-24  Bruno Haible  <bruno@clisp.org>
3518
3519         * lib/utf8-ucs4.h: Remove file.
3520         * lib/utf8-ucs4-unsafe.h: Remove file.
3521         * lib/utf16-ucs4.h: Remove file.
3522         * lib/utf16-ucs4-unsafe.h: Remove file.
3523         * lib/ucs4-utf8.h: Remove file.
3524         * lib/ucs4-utf16.h: Remove file.
3525         * lib/unistr.h: Include their previous contents.
3526         * m4/utf-ucs4.m4: Remove file.
3527         * m4/ucs4-utf.m4: Remove file.
3528         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
3529         (Depends-on): Add unistr/base.
3530         (configure.ac): Remove gl_UTF_UCS4.
3531         (Makefile.am): Update.
3532         (Include): Change to unistr.h.
3533         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
3534         (Depends-on): Add unistr/base.
3535         (configure.ac): Remove gl_UTF_UCS4.
3536         (Makefile.am): Update.
3537         (Include): Change to unistr.h.
3538         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
3539         (Depends-on): Add unistr/base.
3540         (configure.ac): Remove gl_UTF_UCS4.
3541         (Makefile.am): Update.
3542         (Include): Change to unistr.h.
3543         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
3544         (Depends-on): Add unistr/base.
3545         (configure.ac): Remove gl_UTF_UCS4.
3546         (Makefile.am): Update.
3547         (Include): Change to unistr.h.
3548         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
3549         (Depends-on): Add unistr/base.
3550         (configure.ac): Remove gl_UCS4_UTF.
3551         (Makefile.am): Update.
3552         (Include): Change to unistr.h.
3553         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
3554         (Depends-on): Add unistr/base.
3555         (configure.ac): Remove gl_UCS4_UTF.
3556         (Makefile.am): Update.
3557         (Include): Change to unistr.h.
3558         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
3559         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
3560         utf8-ucs4-unsafe.h.
3561         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
3562         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
3563         utf16-ucs4-unsafe.h.
3564         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
3565         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
3566         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
3567         * lib/unistr/u8-strchr.c: Likewise.
3568         * lib/unistr/u8-strrchr.c: Likewise.
3569         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
3570         * lib/unistr/u16-strchr.c: Likewise.
3571         * lib/unistr/u16-strrchr.c: Likewise.
3572         * lib/striconveh.c: Update.
3573         * lib/linebreak.c: Update.
3574
3575 2007-03-24  Bruno Haible  <bruno@clisp.org>
3576
3577         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
3578         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
3579
3580 2007-03-22  Bruno Haible  <bruno@clisp.org>
3581
3582         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
3583
3584 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
3585
3586         * MODULES.html.sh (File system functions): New module write-any-file.
3587         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
3588         * m4/write-any-file.m4: New files.
3589
3590 2007-03-23  Eric Blake  <ebb9@byu.net>
3591
3592         * gnulib-tool: Rearrange space-tab sequences, since some editors
3593         like to eat them.
3594
3595 2007-03-23  Eric Blake  <ebb9@byu.net>
3596
3597         * lib/version-etc.c (version_etc_va): Update license wording to
3598         be more concise.  Recommended by Richard Stallman.
3599
3600 2007-03-22  Bruno Haible  <bruno@clisp.org>
3601
3602         * lib/poll.c (MSG_PEEK): New fallback definition.
3603
3604 2007-03-22  Bruno Haible  <bruno@clisp.org>
3605
3606         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
3607         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
3608         (main): Update.
3609         Fixes a compilation error on BeOS.
3610
3611 2007-03-22  Bruno Haible  <bruno@clisp.org>
3612
3613         * modules/frexpl-tests: New file.
3614         * tests/test-frexpl.c: New file.
3615
3616         * modules/frexpl: New file.
3617         * m4/frexpl.m4: New file.
3618         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
3619         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
3620         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
3621         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
3622         (Depends-on): Add frexpl. Remove isnanl-nolibm.
3623         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
3624
3625 2007-03-22  Bruno Haible  <bruno@clisp.org>
3626
3627         * lib/frexpl.c: Share code with lib/frexp.c.
3628         * modules/mathl (Files): Add lib/frexp.c.
3629         (Depends-on): Add isnanl-nolibm.
3630
3631 2007-03-22  Bruno Haible  <bruno@clisp.org>
3632
3633         * modules/printf-frexp (Files): Add m4/frexp.m4.
3634         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
3635         only if the found frexp function actually works.
3636
3637 2007-03-22  Bruno Haible  <bruno@clisp.org>
3638
3639         * lib/frexp.c: Remove older implementation that uses divisions.
3640
3641 2007-03-21  Bruno Haible  <bruno@clisp.org>
3642
3643         * modules/frexp-tests: New file.
3644         * tests/test-frexp.c: New file.
3645
3646         * modules/frexp: New file.
3647         * lib/frexp.c: New file.
3648         * m4/frexp.m4: New file.
3649         * lib/math_.h (frexp): New declaration.
3650         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
3651         REPLACE_FREXP.
3652         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
3653
3654 2007-03-21  Bruno Haible  <bruno@clisp.org>
3655
3656         * modules/isnanl-tests: New file.
3657         * tests/test-isnanl.c: New file.
3658
3659         * modules/isnanl: New file.
3660         * lib/isnanl.h: New file.
3661         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
3662         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
3663         gl_FUNC_ISNANL_WORKS.
3664         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
3665         New macros.
3666
3667 2007-03-21  Bruno Haible  <bruno@clisp.org>
3668
3669         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
3670         lib/isnanl.h.
3671         (Include): Update.
3672         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
3673         * lib/vasnprintf.c: Update.
3674         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
3675         tests/test-isnanl.h, remove tests/test-isnanl.c.
3676         (Makefile.am): Update.
3677         * tests/test-isnanl-nolibm.c: New file.
3678         * tests/test-isnanl.h: New file.
3679         * tests/test-isnanl.c: Remove file.
3680
3681 2007-03-21  Jim Meyering  <jim@meyering.net>
3682
3683         When trying to open ".", treat ESTALE like EACCES.
3684         * lib/savewd.c (savewd_save): Resort to forking not just upon
3685         failure with EACCES, but also when errno is ESTALE.
3686
3687 2007-03-20  Bruno Haible  <bruno@clisp.org>
3688
3689         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
3690         Needed on AIX 5.1. Reported by Matthew Woehlke.
3691
3692 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
3693
3694         Suggestions by Bruno Haible:
3695         * lib/acl-internal.h: Include "gettext.h" rather than rolling
3696         our own.
3697         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
3698         * modules/acl (Depends-on): Add gettext.
3699
3700 2007-03-19  Bruno Haible  <bruno@clisp.org>
3701
3702         * modules/iconvme: Remove file.
3703         * lib/iconvme.h: Remove file.
3704         * lib/iconvme.c: Remove file.
3705         * m4/iconvme.m4: Remove file.
3706
3707 2007-03-19  Bruno Haible  <bruno@clisp.org>
3708
3709         * doc/relocatable-maint.texi: Break long shell script line.
3710         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
3711
3712 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
3713
3714         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
3715         handle file_has_acl.
3716         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
3717         * lib/acl.c: Move header inclusions and related macro defns into
3718         lib/acl-internal.h.
3719         (S_ISLNK): Remove defn, since that's now done for us.
3720         (file_has_acl): Move to lib/file-has-acl.c.
3721         Call acl_trivial if available.  This is the crucial part of the fix.
3722         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
3723         shared within the library.  Rewrite a bit, partly to make it compatible
3724         with the GNU coding style.
3725         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
3726         Remove unnecessary double-quotes.
3727         Don't test for acl_to_text; the build will catch that.
3728         Replace acl_entries if it doesn't exist and it is needed.
3729         Check for -lsec and acl_trivial (as used on Solaris 10).
3730         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
3731         lib/file-has-acl.c.
3732         (Depends-on): Add sys_stat, for S_ISLNK.
3733
3734 2007-03-19  Ben Pfaff  <blp@gnu.org>
3735
3736         * doc/gnulib.texi: Fix typos.
3737         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
3738
3739 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
3740
3741         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
3742         If size is zero here, buf must be zero.
3743
3744 2007-03-19  Simon Josefsson  <simon@josefsson.org>
3745
3746         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
3747         <bruno@clisp.org>.
3748
3749 2007-03-18  Bruno Haible  <bruno@clisp.org>
3750
3751         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
3752         Suggested by Eric Blake.
3753
3754 2007-03-18  Ben Pfaff  <blp@gnu.org>
3755
3756         * doc/relocatable.texi: Recommend using as prefix a directory
3757         that does not exist and will never be created.  Based on
3758         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
3759         and others.
3760
3761 2007-03-17  Bruno Haible  <bruno@clisp.org>
3762
3763         * lib/fchownat.c: Include lchown.h.
3764
3765 2007-03-17  Bruno Haible  <bruno@clisp.org>
3766
3767         Fix endless loop when the given allocated size was > INT_MAX.
3768         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
3769         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
3770         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
3771         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
3772         * lib/sprintf.c (sprintf): Likewise.
3773
3774 2007-03-17  Bruno Haible  <bruno@clisp.org>
3775
3776         * tests/test-argp-2.sh (func_compare): Output a context diff.
3777
3778 2007-03-17  Bruno Haible  <bruno@clisp.org>
3779
3780         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
3781         locale's decimal-point character.
3782
3783 2007-03-17  Bruno Haible  <bruno@clisp.org>
3784
3785         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
3786         before comparing it. Needed because on some platforms (e.g. x86) a
3787         'long double' occupies less bytes than sizeof (long double).
3788
3789 2007-03-17  Bruno Haible  <bruno@clisp.org>
3790
3791         * tests/test-crc.c (main): Make printf statements 64-bit clean.
3792         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
3793         * tests/test-getaddrinfo.c (simple): Likewise.
3794         * tests/test-read-file.c (main): Likewise.
3795
3796 2007-03-17  Bruno Haible  <bruno@clisp.org>
3797
3798         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
3799
3800 2007-03-17  Bruno Haible  <bruno@clisp.org>
3801
3802         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
3803         unused variable.
3804
3805 2007-03-17  Bruno Haible  <bruno@clisp.org>
3806
3807         * tests/test-c-strcasecmp.c: Include c-strcase.h.
3808         * tests/test-c-strncasecmp.c: Likewise.
3809
3810 2007-03-17  Bruno Haible  <bruno@clisp.org>
3811
3812         * modules/stdlib (Depends-on): Add unistd.
3813         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
3814         Needed for MacOS X 10.3.
3815
3816 2007-03-17  Bruno Haible  <bruno@clisp.org>
3817
3818         * lib/unistr/u-strdup.h: Include <stdlib.h>.
3819
3820 2007-03-17  Bruno Haible  <bruno@clisp.org>
3821
3822         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
3823
3824 2007-03-17  Bruno Haible  <bruno@clisp.org>
3825
3826         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
3827         to reflect files copied from gnulib (with or without modifications).
3828         Suggested by Jim Meyering.
3829
3830 2007-03-17  Eric Blake  <ebb9@byu.net>
3831
3832         * NEWS: Document stdlib change from 2007-02-18.
3833
3834 2007-03-17  Jim Meyering  <jim@meyering.net>
3835
3836         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
3837         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
3838         someone uses a name containing shell meta-characters.
3839         Reported by Alfred M. Szmidt.
3840
3841         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
3842
3843 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
3844
3845         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
3846         and copy gettext configuration files only if configure.ac contains
3847         a use of AM_GNU_GETTEXT_VERSION.
3848
3849 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
3850
3851         * build-aux/bootstrap (gnulib_name): New variable.
3852         (gnulib_tool_options): Use it.
3853
3854 2007-03-13  Simon Josefsson  <simon@josefsson.org>
3855
3856         * tests/test-des.c: Use new namespace.
3857
3858 2007-03-15  Bruno Haible  <bruno@clisp.org>
3859
3860         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
3861         Reported by James Youngman <jay@gnu.org>.
3862
3863 2007-03-15  Bruno Haible  <bruno@clisp.org>
3864
3865         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
3866         declared prototype. Needed with cc on OSF/1 5.1.
3867
3868 2007-03-15  Bruno Haible  <bruno@clisp.org>
3869
3870         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
3871         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
3872         (struct gl_list_implementation): Add dispose_fn argument to the
3873         'create_empty', 'create' methods.
3874         (struct gl_list_impl_base): Add field 'dispose_fn'.
3875         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
3876         argument.
3877         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
3878         dispose_fn argument.
3879         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
3880         dispose_fn on the dropped values.
3881         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
3882         dispose_fn argument.
3883         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
3884         dropped values.
3885         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
3886         (gl_tree_remove_node): Call dispose_fn on the dropped value.
3887         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
3888         (gl_tree_remove_node): Call dispose_fn on the dropped value.
3889         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
3890         argument.
3891         (gl_tree_list_free): Call dispose_fn on the dropped values.
3892         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
3893         the dropped values.
3894         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
3895         Add dispose_fn argument.
3896         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
3897         Call dispose_fn on the dropped values.
3898         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
3899         Add dispose_fn argument.
3900         (gl_sublist_create): Initialize the 'dispose_fn' field.
3901         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
3902         * tests/test-array_list.c (main): Update.
3903         * tests/test-carray_list.c (main): Update.
3904         * tests/test-avltree_list.c (main): Update.
3905         * tests/test-rbtree_list.c (main): Update.
3906         * tests/test-avltreehash_list.c (main): Update.
3907         * tests/test-rbtreehash_list.c (main): Update.
3908         * tests/test-linked_list.c (main): Update.
3909         * tests/test-linkedhash_list.c (main): Update.
3910         * tests/test-array_oset.c (main): Update.
3911
3912 2007-03-15  Bruno Haible  <bruno@clisp.org>
3913
3914         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
3915         (gl_oset_create_empty): Add dispose_fn argument.
3916         (struct gl_oset_implementation): Add dispose_fn argument to
3917         'create_empty' method.
3918         (struct gl_oset_impl_base): Add dispose_fn field.
3919         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
3920         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
3921         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
3922         values.
3923         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
3924         (gl_tree_oset_free): Call dispose_fn on the dropped values.
3925         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
3926         dropped value.
3927         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
3928         dropped value.
3929         * tests/test-array_oset.c (main): Update.
3930         * tests/test-avltree_oset.c (main): Update.
3931         * tests/test-rbtree_oset.c (main): Update.
3932         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
3933
3934 2007-03-13  Bruno Haible  <bruno@clisp.org>
3935
3936         * tests/test-stdbool.c (i): Update after last patch.
3937
3938 2007-03-12  Bruno Haible  <bruno@clisp.org>
3939
3940         * lib/quotearg.c: Include <wctype.h> early, before the definition of
3941         the iswprint macro. Needed on Solaris 2.5.1.
3942
3943 2007-03-12  Bruno Haible  <bruno@clisp.org>
3944
3945         * tests/test-printf-frexp.c (main): Declare x as volatile.
3946
3947 2007-03-12  Simon Josefsson  <simon@josefsson.org>
3948
3949         * doc/gnulib.texi (Build robot for gnulib): New section.
3950
3951 2007-03-12  Jim Meyering  <jim@meyering.net>
3952
3953         * build-aux/bootstrap: New file.
3954         * build-aux/bootstrap.conf: New file, from coreutils.
3955
3956 2007-03-11  Bruno Haible  <bruno@clisp.org>
3957
3958         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
3959
3960 2007-03-12  Simon Josefsson  <simon@josefsson.org>
3961
3962         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
3963         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
3964         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
3965
3966 2007-03-11  Bruno Haible  <bruno@clisp.org>
3967
3968         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
3969         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
3970
3971 2007-03-11  Bruno Haible  <bruno@clisp.org>
3972
3973         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
3974         formula. Needed for SunPRO C 5.0.
3975
3976 2007-03-11  Bruno Haible  <bruno@clisp.org>
3977
3978         * modules/long-options (Depends-on): Add getopt.
3979
3980 2007-03-11  Bruno Haible  <bruno@clisp.org>
3981
3982         * modules/modechange (Depends-on): Add stdbool.
3983
3984 2007-03-11  Bruno Haible  <bruno@clisp.org>
3985
3986         * modules/i-ring (Depends-on): Add stdbool.
3987
3988 2007-03-11  Bruno Haible  <bruno@clisp.org>
3989
3990         * modules/gc-des (Depends-on): Add stdbool.
3991
3992 2007-03-11  Bruno Haible  <bruno@clisp.org>
3993
3994         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
3995
3996 2007-03-11  Bruno Haible  <bruno@clisp.org>
3997
3998         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
3999
4000 2007-03-11  Bruno Haible  <bruno@clisp.org>
4001
4002         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
4003
4004 2007-03-11  Bruno Haible  <bruno@clisp.org>
4005
4006         * lib/vasnprintf.c (sprintf): Undefine.
4007
4008 2007-03-11  Bruno Haible  <bruno@clisp.org>
4009
4010         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
4011         initializers in SunPRO C and Compaq C compilers.
4012
4013 2007-03-11  Bruno Haible  <bruno@clisp.org>
4014
4015         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
4016         decrementing code ANSI C compliant.
4017
4018 2007-03-11  Bruno Haible  <bruno@clisp.org>
4019
4020         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
4021         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
4022
4023 2007-03-11  Bruno Haible  <bruno@clisp.org>
4024
4025         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
4026         <stdbool.h> substitute doesn't pass.
4027
4028 2007-03-11  Bruno Haible  <bruno@clisp.org>
4029
4030         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
4031
4032 2007-03-11  Bruno Haible  <bruno@clisp.org>
4033
4034         * gnulib-tool (func_create_megatestdir): Create also an autobuild
4035         script, for submission to autobuild.josefsson.org.
4036
4037 2007-03-10  Bruno Haible  <bruno@clisp.org>
4038
4039         * modules/canonicalize-lgpl-tests: New file.
4040         * tests/test-canonicalize-lgpl.sh: New file.
4041         * tests/test-canonicalize-lgpl.c: New file.
4042
4043         * modules/c-strcase-tests: New file.
4044         * tests/test-c-strcase.sh: New file.
4045         * tests/test-c-strcasecmp.c: New file.
4046         * tests/test-c-strncasecmp.c: New file.
4047
4048         * modules/atexit-tests: New file.
4049         * tests/test-atexit.sh: New file.
4050         * tests/test-atexit.c: New file.
4051
4052 2007-03-10  Bruno Haible  <bruno@clisp.org>
4053
4054         * tests/test-binary-io.sh: Use temporary filenames that are not so
4055         likely to clash with those of other tests (in a parallel make).
4056         * tests/test-binary-io.c: Likewise.
4057
4058 2007-03-10  Bruno Haible  <bruno@clisp.org>
4059
4060         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
4061         fallback; use #error instead.
4062         Suggested by Simon Josefsson.
4063
4064 2007-03-10  Bruno Haible  <bruno@clisp.org>
4065
4066         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
4067         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
4068         first and the last.
4069
4070 2007-03-10  Bruno Haible  <bruno@clisp.org>
4071
4072         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
4073
4074 2007-03-10  Bruno Haible  <bruno@clisp.org>
4075
4076         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
4077         "make distcheck".
4078         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
4079         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
4080         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
4081
4082 2007-03-10  Bruno Haible  <bruno@clisp.org>
4083
4084         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
4085         variable.
4086         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
4087         variable.
4088
4089 2007-03-09  Eric Blake  <ebb9@byu.net>
4090         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
4091
4092         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
4093         types are not being provided by gnulib.
4094         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
4095         types are supported.
4096
4097 2007-03-10  Bruno Haible  <bruno@clisp.org>
4098
4099         * lib/stdio_.h (__attribute__): New macro.
4100         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
4101         vsprintf): Specify __attribute__ __format__ for GCC.
4102         Suggested by Eric Blake.
4103
4104 2007-03-09  Bruno Haible  <bruno@clisp.org>
4105
4106         * modules/printf-posix-tests: New file.
4107         * tests/test-printf-posix.sh: New file.
4108         * tests/test-printf-posix.c: New file.
4109
4110         * modules/printf-posix: New file.
4111         * lib/printf.c: New file.
4112         * m4/printf-posix-rpl.m4: New file.
4113         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
4114         REPLACE_PRINTF.
4115         * lib/stdio_.h (printf): New declaration.
4116         (format, __format__, ____printf____, ____scanf____, ____strftime____,
4117         ____strfmon____): New macros.
4118         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
4119         REPLACE_PRINTF.
4120
4121 2007-03-09  Bruno Haible  <bruno@clisp.org>
4122
4123         * tests/test-vasnprintf-posix2.sh: New file.
4124         * tests/test-vasnprintf-posix2.c: New file.
4125         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
4126         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
4127         (Makefile.am): Activate test-vasnprintf-posix2.sh.
4128
4129         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
4130         a locale dependent decimal point, rather than always '.'.
4131
4132 2007-03-09  Eric Blake  <ebb9@byu.net>
4133
4134         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
4135         spite of platforms like Tandem/NSK that define it to -1.
4136
4137 2007-03-08  Bruno Haible  <bruno@clisp.org>
4138
4139         * modules/vprintf-posix-tests: New file.
4140         * tests/test-vprintf-posix.sh: New file.
4141         * tests/test-vprintf-posix.c: New file.
4142         * tests/test-printf-posix.h: New file.
4143
4144         * modules/vprintf-posix: New file.
4145         * lib/vprintf.c: New file.
4146         * m4/vprintf-posix.m4: New file.
4147         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
4148         REPLACE_VPRINTF.
4149         * lib/stdio_.h (vprintf): New declaration.
4150         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
4151         REPLACE_VPRINTF.
4152
4153 2007-03-08  Bruno Haible  <bruno@clisp.org>
4154
4155         * modules/fprintf-posix-tests: New file.
4156         * tests/test-fprintf-posix.sh: New file.
4157         * tests/test-fprintf-posix.c: New file.
4158
4159         * modules/fprintf-posix: New file.
4160         * lib/fprintf.c: New file.
4161         * m4/fprintf-posix.m4: New file.
4162         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
4163         REPLACE_FPRINTF.
4164         * lib/stdio_.h (fprintf): New declaration.
4165         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
4166         REPLACE_FPRINTF.
4167
4168 2007-03-08  Bruno Haible  <bruno@clisp.org>
4169
4170         * modules/vfprintf-posix-tests: New file.
4171         * tests/test-vfprintf-posix.sh: New file.
4172         * tests/test-vfprintf-posix.c: New file.
4173         * tests/test-fprintf-posix.h: New file.
4174         * tests/test-fprintf-posix.out: New file.
4175
4176         * modules/vfprintf-posix: New file.
4177         * lib/vfprintf.c: New file.
4178         * m4/vfprintf-posix.m4: New file.
4179         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
4180         REPLACE_VFPRINTF.
4181         * lib/stdio_.h (vfprintf): New declaration.
4182         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
4183         REPLACE_VFPRINTF.
4184
4185 2007-03-08  Bruno Haible  <bruno@clisp.org>
4186
4187         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
4188
4189 2007-03-08  Bruno Haible  <bruno@clisp.org>
4190
4191         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
4192         instead of 'expr' invocations.
4193         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
4194         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
4195         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
4196         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
4197         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
4198         Suggested by Paul Eggert.
4199
4200 2007-03-08  Bruno Haible  <bruno@clisp.org>
4201
4202         * modules/fseterr-tests: New file.
4203         * tests/test-fseterr.c: New file.
4204
4205         * modules/fseterr: New file.
4206         * lib/fseterr.h: New file.
4207         * lib/fseterr.c: New file.
4208
4209 2007-03-08  Bruno Haible  <bruno@clisp.org>
4210
4211         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
4212         * lib/getopt_.h: Likewise.
4213         * lib/mbswidth.h: Likewise.
4214         * lib/setenv.h: Likewise.
4215         * lib/vasnprintf.h: Likewise.
4216         * lib/vasprintf.h: Likewise.
4217         * lib/verror.h: Likewise.
4218         * lib/xsetenv.h: Likewise.
4219         * lib/xvasprintf.h: Likewise.
4220
4221 2007-03-08  Jim Meyering  <jim@meyering.net>
4222
4223         * users.txt: Add parted.
4224
4225         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
4226
4227 2007-03-07  Bruno Haible  <bruno@clisp.org>
4228
4229         * m4/printf.m4: Make the shell script snippets copy&pastable.
4230
4231 2007-03-02  Bruno Haible  <bruno@clisp.org>
4232
4233         * lib/netinet_in_.h: New file.
4234         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
4235         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
4236         * modules/netinet_in (Files): Add lib/netinet_in_.h.
4237         (Depends-on): Add absolute-header.
4238         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
4239         into netinet/in.h.
4240
4241 2007-03-03  Bruno Haible  <bruno@clisp.org>
4242
4243         * lib/sys_select_.h: New file.
4244         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
4245         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
4246         * modules/sys_select (Files): Add lib/sys_select_.h.
4247         (Depends-on): Add absolute-header.
4248         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
4249         into sys/select.h.
4250
4251 2007-03-02  Bruno Haible  <bruno@clisp.org>
4252
4253         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
4254         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
4255         values.
4256         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
4257         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
4258         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
4259         * modules/sys_socket (Depends-on): Add absolute-header.
4260         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
4261         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
4262         (Include): Remove requirement of inclusion of <sys/types.h>.
4263
4264 2007-03-02  Bruno Haible  <bruno@clisp.org>
4265
4266         * lib/byteswap_.h (bswap_32): Fix formula.
4267
4268 2007-03-06  Bruno Haible  <bruno@clisp.org>
4269
4270         * modules/sprintf-posix-tests: New file.
4271         * tests/test-sprintf-posix.c: New file.
4272
4273         * modules/sprintf-posix: New file.
4274         * lib/sprintf.c: New file.
4275         * m4/sprintf-posix.m4: New file.
4276         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
4277         REPLACE_SPRINTF.
4278         * lib/stdio_.h (sprintf): New declaration.
4279         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
4280         REPLACE_SPRINTF.
4281
4282 2007-03-06  Bruno Haible  <bruno@clisp.org>
4283
4284         * modules/vsprintf-posix-tests: New file.
4285         * tests/test-vsprintf-posix.c: New file.
4286         * tests/test-sprintf-posix.h: New file.
4287
4288         * modules/vsprintf-posix: New file.
4289         * lib/vsprintf.c: New file.
4290         * m4/vsprintf-posix.m4: New file.
4291         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
4292         REPLACE_VSPRINTF.
4293         * lib/stdio_.h (vsprintf): New declaration.
4294         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
4295         REPLACE_VSPRINTF.
4296
4297 2007-03-06  Bruno Haible  <bruno@clisp.org>
4298
4299         * modules/vsnprintf (Depend-on): Remove minmax.
4300
4301 2007-03-06  Bruno Haible  <bruno@clisp.org>
4302
4303         * modules/snprintf-posix-tests: New file.
4304         * tests/test-snprintf-posix.c: New file.
4305
4306         * modules/snprintf-posix: New file.
4307         * m4/snprintf-posix.m4: New file.
4308         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
4309         gl_FUNC_SNPRINTF.
4310         (gl_FUNC_SNPRINTF): Invoke it.
4311         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
4312         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
4313         is set.
4314         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
4315
4316 2007-03-06  Bruno Haible  <bruno@clisp.org>
4317
4318         * modules/vsnprintf-posix-tests: New file.
4319         * tests/test-vsnprintf-posix.c: New file.
4320         * tests/test-snprintf-posix.h: New file.
4321
4322         * modules/vsnprintf-posix: New file.
4323         * m4/vsnprintf-posix.m4: New file.
4324         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
4325         gl_FUNC_VSNPRINTF.
4326         (gl_FUNC_VSNPRINTF): Invoke it.
4327         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
4328         * lib/stdio_.h (vsnprintf): Define as a replacement if
4329         REPLACE_VSNPRINTF is set.
4330         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
4331
4332 2007-03-06  Bruno Haible  <bruno@clisp.org>
4333
4334         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
4335         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
4336
4337 2007-03-06  Bruno Haible  <bruno@clisp.org>
4338
4339         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
4340         (asinl): Declare also if HAVE_DECL_ASINL is set.
4341         (atanl): Declare also if HAVE_DECL_ATANL is set.
4342         (ceill): Declare also if HAVE_DECL_CEILL is set.
4343         (cosl): Declare also if HAVE_DECL_COSL is set.
4344         (expl): Declare also if HAVE_DECL_EXPL is set.
4345         (floorl): Declare also if HAVE_DECL_FLOORL is set.
4346         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
4347         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
4348         (logl): Declare also if HAVE_DECL_LOGL is set.
4349         (sinl): Declare also if HAVE_DECL_SINL is set.
4350         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
4351         (tanl): Declare also if HAVE_DECL_TANL is set.
4352         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
4353         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
4354         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
4355         declaration of frexpl, ldexpl.
4356         * modules/printf-frexpl (Depends-on): Add math.
4357         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
4358
4359 2007-03-05  Bruno Haible  <bruno@clisp.org>
4360
4361         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
4362         frexpl and ldexpl are declared.
4363         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
4364
4365 2007-03-05  Bruno Haible  <bruno@clisp.org>
4366
4367         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
4368         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
4369
4370 2007-03-05  Bruno Haible  <bruno@clisp.org>
4371
4372         * lib/stdio_.h: Include <stddef.h>.
4373
4374 2007-03-05  Bruno Haible  <bruno@clisp.org>
4375
4376         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
4377
4378 2007-03-05  Bruno Haible  <bruno@clisp.org>
4379
4380         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
4381         NetBSD 4, from Ralf Wildenhues.
4382
4383 2007-03-04  Bruno Haible  <bruno@clisp.org>
4384
4385         * lib/vasprintf.h: Update #if logic for the case when the functions
4386         exist but are overridden.
4387
4388 2007-03-04  Bruno Haible  <bruno@clisp.org>
4389
4390         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
4391         implementations: glibc-2.4 and MacOS X 10.3.
4392         * tests/test-vasnprintf-posix.c (test_function): Test also the case
4393         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
4394         * tests/test-vasprintf-posix.c (test_function): Likewise.
4395
4396 2007-03-04  Bruno Haible  <bruno@clisp.org>
4397
4398         * modules/vasprintf-posix-tests: New file.
4399         * tests/test-vasprintf-posix.c: New file.
4400
4401         * modules/vasprintf-posix: New file.
4402         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
4403         defined.
4404         * m4/vasprintf-posix.m4: New file.
4405         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
4406         gl_FUNC_VASPRINTF.
4407         (gl_FUNC_VASPRINTF): Invoke it.
4408         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
4409         here.
4410         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
4411
4412 2007-03-04  Bruno Haible  <bruno@clisp.org>
4413
4414         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
4415         REPLACE_GETTIMEOFDAY.
4416         * modules/sys_time (Makefile.am): Likewise.
4417         * m4/sys_time_h.m4: Likewise.
4418         * m4/gettimeofday.m4: Likewise.
4419
4420 2007-03-04  Bruno Haible  <bruno@clisp.org>
4421
4422         * modules/vasnprintf-posix-tests: New file.
4423         * tests/test-vasnprintf-posix.c: New file.
4424
4425         * modules/vasnprintf-posix: New file.
4426         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
4427         printf-frexpl.h.
4428         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
4429         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
4430         REPLACE_VASNPRINTF is defined.
4431         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
4432         gl_FUNC_VASNPRINTF.
4433         (gl_FUNC_VASNPRINTF): Invoke it.
4434         * m4/vasnprintf-posix.m4: New file.
4435         * m4/printf.m4: New file.
4436
4437 2007-03-04  Bruno Haible  <bruno@clisp.org>
4438
4439         Compile progreloc.c only if --enable-relocatable is specified.
4440         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
4441         if --enable-relocatable was specified.
4442         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
4443         lib_SOURCES.
4444
4445 2007-03-04  Jim Meyering  <jim@meyering.net>
4446
4447         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
4448         Use it consistently, rather than enumerating errno constants.
4449
4450 2007-03-04  Bruno Haible  <bruno@clisp.org>
4451
4452         * modules/xvasprintf-tests: New file.
4453         * tests/test-xvasprintf.c: New file.
4454
4455         * modules/vasprintf-tests: New file.
4456         * tests/test-vasprintf.c: New file.
4457
4458         * modules/vasnprintf-tests: New file.
4459         * tests/test-vasnprintf.c: New file.
4460
4461         * modules/vsnprintf-tests: New file.
4462         * tests/test-vsnprintf.c: New file.
4463
4464         * modules/snprintf-tests: New file.
4465         * tests/test-snprintf.c: New file.
4466
4467 2007-03-04  Bruno Haible  <bruno@clisp.org>
4468
4469         Compile relocatable.c only if --enable-relocatable is specified.
4470         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
4471         gl_RELOCATABLE_LIBRARY.
4472         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
4473         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
4474         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
4475         gl_RELOCATABLE_LIBRARY.
4476         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
4477         (Makefile.am): Remove lib_SOURCES.
4478         * modules/relocatable-lib-lgpl (configure.ac): Invoke
4479         gl_RELOCATABLE_LIBRARY.
4480         (Makefile.am): Remove lib_SOURCES.
4481         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
4482         always.
4483         * modules/relocatable-prog-wrapper (configure.ac): Invoke
4484         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
4485
4486 2007-03-04  Bruno Haible  <bruno@clisp.org>
4487
4488         * modules/argmatch-tests: New file.
4489         * tests/test-argmatch.c: New file.
4490
4491         * tests/test-allocsa.c (main): Halve the number of loop runs.
4492
4493         * modules/alloca-opt-tests: New file.
4494         * tests/test-alloca-opt.c: New file.
4495
4496 2007-03-04  Jim Meyering  <jim@meyering.net>
4497
4498         Work around difference between Linux ACLs and Solaris 10 ZFS.
4499         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
4500         for EINVAL.
4501
4502 2007-03-03  Bruno Haible  <bruno@clisp.org>
4503
4504         * modules/relocatable-prog (Depends-on): Add back progreloc's
4505         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
4506
4507 2007-03-03  Bruno Haible  <bruno@clisp.org>
4508
4509         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
4510         * modules/relocatable-lib: New file.
4511
4512 2007-03-03  Bruno Haible  <bruno@clisp.org>
4513
4514         * modules/relocatable-prog: Renamed from modules/relocatable.
4515         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
4516
4517 2007-03-03  Bruno Haible  <bruno@clisp.org>
4518
4519         * modules/relocatable-script (Files): Add doc/relocatable.texi,
4520         m4/relocatable-lib.m4.
4521         (Depends-on): Remove 'relocatable'.
4522         (configure.ac): Add gl_RELOCATABLE_NOP.
4523
4524 2007-03-03  Bruno Haible  <bruno@clisp.org>
4525
4526         * modules/relocatable-prog-wrapper: New file.
4527         * modules/relocatable (Depends-on): Add it. Remove all other
4528         dependencies except progname.
4529         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
4530
4531         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
4532         (gl_FUNC_STRERROR): Nop.
4533         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
4534
4535         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
4536         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
4537
4538         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
4539         (gl_FUNC_READLINK): Update.
4540
4541         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
4542
4543 2007-03-03  Bruno Haible  <bruno@clisp.org>
4544
4545         * lib/xreadlink.c: Include <unistd.h> unconditionally.
4546         * modules/xreadlink (Depends-on): Add unistd.
4547         * modules/xreadlink-with-size (Depends-on): Likewise.
4548
4549 2007-03-03  Bruno Haible  <bruno@clisp.org>
4550
4551         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
4552         extracted from gt_FUNC_SETENV.
4553         (gt_FUNC_SETENV): Remove macro.
4554         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
4555         remove gt_FUNC_SETENV.
4556
4557 2007-03-03  Bruno Haible  <bruno@clisp.org>
4558
4559         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
4560         ENABLE_RELOCATABLE here.
4561         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
4562
4563 2007-03-03  Bruno Haible  <bruno@clisp.org>
4564
4565         * modules/rbtreehash-list-tests (Depends-on): Add progname.
4566         * tests/test-rbtreehash_list.c: Include progname.h.
4567         (main): Call set_program_name.
4568
4569         * modules/rbtree-oset-tests (Depends-on): Add progname.
4570         * tests/test-rbtree_oset.c: Include progname.h.
4571         (main): Call set_program_name.
4572
4573         * modules/rbtree-list-tests (Depends-on): Add progname.
4574         * tests/test-rbtree_list.c: Include progname.h.
4575         (main): Call set_program_name.
4576
4577         * modules/linked-list-tests (Depends-on): Add progname.
4578         * tests/test-linked_list.c: Include progname.h.
4579         (main): Call set_program_name.
4580
4581 2007-03-03  Bruno Haible  <bruno@clisp.org>
4582
4583         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
4584         All uses of __restrict changed to _Restrict_.
4585         * lib/glob_.h (__restrict): Remove macro.
4586
4587 2007-03-02  Bruno Haible  <bruno@clisp.org>
4588
4589         * modules/gettext (configure.ac): Require gettext infrastructure
4590         from version 0.16.1.
4591
4592 2007-03-02  Bruno Haible  <bruno@clisp.org>
4593
4594         * modules/linkedhash-list-tests (Depends-on): Add progname.
4595         * tests/test-linkedhash_list.c: Include progname.h.
4596         (main): Call set_program_name.
4597
4598         * modules/carray-list-tests (Depends-on): Add progname.
4599         * tests/test-carray_list.c: Include progname.h.
4600         (main): Call set_program_name.
4601
4602         * modules/avltreehash-list-tests (Depends-on): Add progname.
4603         * tests/test-avltreehash_list.c: Include progname.h.
4604         (main): Call set_program_name.
4605
4606         * modules/avltree-oset-tests (Depends-on): Add progname.
4607         * tests/test-avltree_oset.c: Include progname.h.
4608         (main): Call set_program_name.
4609
4610         * modules/avltree-list-tests (Depends-on): Add progname.
4611         * tests/test-avltree_list.c: Include progname.h.
4612         (main): Call set_program_name.
4613
4614         * modules/array-oset-tests (Depends-on): Add progname.
4615         * tests/test-array_oset.c: Include progname.h.
4616         (main): Call set_program_name.
4617
4618         * modules/array-list-tests (Depends-on): Add progname.
4619         * tests/test-array_list.c: Include progname.h.
4620         (main): Call set_program_name.
4621
4622         * modules/argp-tests (Depends-on): Add progname.
4623         * tests/test-argp.c: Include argp.h first. Include progname.h.
4624         (main): Call set_program_name.
4625
4626 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
4627
4628         * doc/gnulib-tool.texi (Initial import): Reword description of
4629         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
4630         limited effect even if defined after the first system include.
4631
4632 2007-03-01  Bruno Haible  <bruno@clisp.org>
4633
4634         * build-aux/config.libpath: Update to libtool-1.5.22.
4635         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
4636
4637 2007-03-01  Bruno Haible  <bruno@clisp.org>
4638
4639         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
4640         foo_CFLAGS.
4641         Reported by Ralf Wildenhues.
4642
4643 2007-03-01  Bruno Haible  <bruno@clisp.org>
4644
4645         * build-aux/install-reloc: Remove object files left over by some
4646         compilers.
4647         Reported by Ralf Wildenhues.
4648
4649 2007-03-01  Bruno Haible  <bruno@clisp.org>
4650
4651         * build-aux/install-reloc: Break long lines.
4652
4653 2007-03-01  Bruno Haible  <bruno@clisp.org>
4654
4655         * doc/relocatable.texi: Document that it may not work on OpenBSD.
4656         Reported by Ralf Wildenhues.
4657
4658 2007-03-01  Bruno Haible  <bruno@clisp.org>
4659
4660         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
4661         include ordering constraints.
4662
4663 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
4664
4665         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
4666         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
4667         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
4668         as another example.
4669         * lib/time_.h: Fix misspelling.
4670         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
4671         Require gl_HEADER_TIME_H_DEFAULTS.
4672         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
4673         * m4/time_r.m4 (gl_TIME_R): Likewise.
4674         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
4675
4676 2007-03-01  Bruno Haible  <bruno@clisp.org>
4677
4678         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
4679         * m4/utimens.m4 (gl_UTIMENS): Likewise.
4680
4681 2007-03-01  Jim Meyering  <jim@meyering.net>
4682
4683         * modules/xreadlink (Maintainer): Add my name.
4684         * modules/xreadlink-with-size (Depends-on): Alphabetize.
4685
4686 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
4687             Bruno Haible  <bruno@clisp.org>
4688
4689         * build-aux/install-reloc: Compile also c-ctype.c.
4690         * build-aux/relocatable.sh.in: New file.
4691         * doc/relocatable.texi: New file.
4692         * doc/relocatable-maint.texi: New file.
4693         * doc/gnulib.texi: Include relocatable-maint.texi.
4694         * lib/progreloc.c: Include unistd.h unconditionally.
4695         * lib/relocwrapper.c: Include unistd.h unconditionally.
4696         Include c-ctype.h.
4697         (add_dotbin): Use c_tolower.
4698         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
4699         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
4700         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
4701         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
4702         to m4/relocatable-lib.m4.
4703         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
4704         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
4705         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
4706         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
4707         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
4708         * modules/relocatable: New file.
4709         * modules/relocatable-lib: New file.
4710         * modules/relocatable-script: New file.
4711
4712 2007-02-28  Bruno Haible  <bruno@clisp.org>
4713
4714         Import --enable-relocatable infrastructure.
4715         * build-aux/config.libpath: New file, from GNU gettext.
4716         * build-aux/install-reloc: New file, from GNU gettext.
4717         * build-aux/reloc-ldflags: New file, from GNU gettext.
4718         * lib/relocatable.h: New file, from GNU gettext.
4719         * lib/relocatable.c: New file, from GNU gettext.
4720         * lib/relocwrapper.c: New file, from GNU gettext.
4721         * m4/relocatable.m4: New file, from GNU gettext.
4722
4723 2007-02-28  Bruno Haible  <bruno@clisp.org>
4724
4725         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
4726
4727         * modules/xreadlink: New file, from GNU gettext with modifications.
4728         * lib/xreadlink.c: New file, from GNU gettext.
4729         * lib/xreadlink.h: Add comments.
4730         (xreadlink): New declaration.
4731
4732         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
4733         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
4734         lib/xreadlink-with-size.c.
4735         (configure.ac): Remove gl_XREADLINK invocation.
4736         (Makefile.am): Augment lib_SOURCES.
4737         * m4/xreadlink.m4: Remove file.
4738         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
4739         (xreadlink_with_size): Renamed from xreadink.
4740         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
4741         * modules/canonicalize (Depends-on): Replace xreadlink with
4742         xreadlink-with-size.
4743         * lib/canonicalize.c (canonicalize_filename_mode): Update.
4744
4745 2007-02-25  Jim Meyering  <jim@meyering.net>
4746
4747         * build-aux/announce-gen: When complaining about excess arguments,
4748         list them.
4749
4750 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
4751
4752         * README: Document signed integer overflow situation more
4753         accurately.
4754
4755 2007-02-25  Bruno Haible  <bruno@clisp.org>
4756
4757         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
4758         'a' or 'A' conversion.
4759
4760 2007-02-25  Bruno Haible  <bruno@clisp.org>
4761
4762         * modules/filename: Renamed from modules/pathname.
4763         (Files): Replace lib/pathname.h with lib/filename.h. Replace
4764         lib/concatpath.c with lib/concat-filename.c.
4765         (Makefile.am): Update.
4766         (Include): Replace pathname.h with filename.h.
4767         * lib/filename.h: Renamed from lib/pathname.h.
4768         (concatenated_filename): Renamed from concatenated_pathname.
4769         * lib/concat-filename.c: Renamed from lib/concatpath.c.
4770         (concatenated_filename): Renamed from concatenated_pathname.
4771         * lib/findprog.c: Include filename.h instead of pathname.h.
4772         (find_in_path): Update.
4773         * lib/javacomp.c: Include filename.h instead of pathname.h.
4774         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
4775         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
4776         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
4777         is_oldgcj_14_13_usable, is_javac_usable): Update.
4778         * lib/javaexec.c: Include filename.h instead of pathname.h.
4779         (execute_java_class): Update.
4780         * modules/findprog: Update.
4781         * modules/javacomp: Update.
4782         * modules/javaexec: Update.
4783         * MODULES.html.sh (File system functions): Add 'filename', remove
4784         'pathname'.
4785
4786 2007-02-25  Bruno Haible  <bruno@clisp.org>
4787
4788         * modules/printf-frexpl-tests: New file.
4789         * tests/test-printf-frexpl.c: New file.
4790
4791         * modules/printf-frexpl: New file.
4792         * lib/printf-frexpl.h: New file.
4793         * lib/printf-frexpl.c: New file.
4794         * m4/printf-frexpl.m4: New file.
4795
4796 2007-02-25  Bruno Haible  <bruno@clisp.org>
4797
4798         * modules/printf-frexp-tests: New file.
4799         * tests/test-printf-frexp.c: New file.
4800
4801         * modules/printf-frexp: New file.
4802         * lib/printf-frexp.h: New file.
4803         * lib/printf-frexp.c: New file.
4804         * m4/printf-frexp.m4: New file.
4805
4806 2007-02-25  Bruno Haible  <bruno@clisp.org>
4807
4808         Assume automake >= 1.10 for the tests.
4809         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
4810         * modules/arctwo-tests: Likewise.
4811         * modules/argp-tests: Likewise.
4812         * modules/avltree-list-tests: Likewise.
4813         * modules/avltree-oset-tests: Likewise.
4814         * modules/avltreehash-list-tests: Likewise.
4815         * modules/carray-list-tests: Likewise.
4816         * modules/crc-tests: Likewise.
4817         * modules/des-tests: Likewise.
4818         * modules/gc-arcfour-tests: Likewise.
4819         * modules/gc-arctwo-tests: Likewise.
4820         * modules/gc-des-tests: Likewise.
4821         * modules/gc-hmac-md5-tests: Likewise.
4822         * modules/gc-hmac-sha1-tests: Likewise.
4823         * modules/gc-md2-tests: Likewise.
4824         * modules/gc-md4-tests: Likewise.
4825         * modules/gc-md5-tests: Likewise.
4826         * modules/gc-pbkdf2-sha1-tests: Likewise.
4827         * modules/gc-rijndael-tests: Likewise.
4828         * modules/gc-sha1-tests: Likewise.
4829         * modules/gc-tests: Likewise.
4830         * modules/getaddrinfo-tests: Likewise.
4831         * modules/hmac-md5-tests: Likewise.
4832         * modules/hmac-sha1-tests: Likewise.
4833         * modules/linked-list-tests: Likewise.
4834         * modules/linkedhash-list-tests: Likewise.
4835         * modules/lock-tests: Likewise.
4836         * modules/md2-tests: Likewise.
4837         * modules/md4-tests: Likewise.
4838         * modules/md5-tests: Likewise.
4839         * modules/rbtree-list-tests: Likewise.
4840         * modules/rbtree-oset-tests: Likewise.
4841         * modules/rbtreehash-list-tests: Likewise.
4842         * modules/read-file-tests: Likewise.
4843         * modules/rijndael-tests: Likewise.
4844         * modules/stdint-tests: Likewise.
4845         * modules/tls-tests: Likewise.
4846
4847 2007-02-24  Bruno Haible  <bruno@clisp.org>
4848
4849         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
4850         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
4851         function; instead check whether isnan with a double argument links.
4852         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
4853         function; instead check whether isnan with a 'long double' argument
4854         links.
4855         Reported by Eric Blake <ebb9@byu.net>.
4856
4857 2007-02-24  Bruno Haible  <bruno@clisp.org>
4858
4859         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
4860         defined.
4861         * lib/isnanl.c: Remove all code. Just include isnan.c.
4862         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
4863
4864 2007-02-25  Jim Meyering  <jim@meyering.net>
4865
4866         Avoid conflicting types for 'unsetenv' on FreeBSD.
4867         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
4868         conflicting with FreeBSD's (5.0 and 6.1) function declaration
4869         in stdlib.h.
4870
4871 2007-02-24  Bruno Haible  <bruno@clisp.org>
4872
4873         * modules/isnanl-nolibm-tests: New file.
4874         * tests/test-isnanl.c: New file.
4875
4876         * modules/isnanl-nolibm: New file.
4877         * lib/isnanl.h: New file.
4878         * lib/isnanl.c: New file.
4879         * m4/isnanl.m4: New file.
4880
4881 2007-02-24  Bruno Haible  <bruno@clisp.org>
4882
4883         * modules/isnan-nolibm-tests: New file.
4884         * tests/test-isnan.c: New file.
4885
4886         * modules/isnan-nolibm: New file.
4887         * lib/isnan.h: New file.
4888         * lib/isnan.c: New file.
4889         * m4/isnan.m4: New file.
4890
4891 2007-02-24  Bruno Haible  <bruno@clisp.org>
4892
4893         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
4894         assume that an exponent fits in 20 bits.
4895
4896 2007-02-24  Jim Meyering  <jim@meyering.net>
4897
4898         * m4/regex.m4: Update the description of the configure-time option,
4899         --without-included-regex, to state accurately what the defaults are,
4900         and perhaps to give people an idea why using this option is risky.
4901
4902 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
4903
4904         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
4905         loops on small arguments.  This attempts to avoid the problem
4906         Bruno Haible reported for AIX 4.3.2 in
4907         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
4908
4909 2007-02-23  Bruno Haible  <bruno@clisp.org>
4910
4911         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
4912         Needed for help2man.
4913
4914 2007-02-23  Karl Berry  <karl@gnu.org>
4915
4916         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
4917         exists, foo.h should be cvs-ignored, not committed.
4918
4919 2007-02-23  Eric Blake  <ebb9@byu.net>
4920
4921         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
4922         * lib/stat-time.h (includes): Likewise.
4923         * lib/utimecmp.c (includes): Likewise.
4924         * lib/utimens.h (includes): Likewise.
4925         * lib/getdate.y (includes): Also include "timespec.h" for use
4926         internal to the module.
4927         * modules/utimens (Depends-on): Revert yesterday's patch.
4928         * modules/nanosleep (Depends-on): Add missing dependency.
4929
4930 2007-02-22  Bruno Haible  <bruno@clisp.org>
4931
4932         * lib/glob.c: Don't include getlogin_r.h.
4933
4934 2007-02-22  Jim Meyering  <jim@meyering.net>
4935
4936         * modules/utimens (Depends-on): Add timespec, required for
4937         utimens.h's inclusion of timespec.h.
4938
4939 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
4940
4941         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
4942         long unreadable paths in GNU/Linux.  Problem reported by Andreas
4943         Schwab in
4944         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
4945         I'll try to think of a better way to fix the Solaris problem.
4946
4947         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
4948         like glibc; on Solaris 10, it fails with errno == EINVAL.
4949         POSIX says the behavior is unspecified if the first argument is NULL,
4950         so play it safe and never pass NULL to the system getcwd.
4951
4952 2007-02-21  Jim Meyering  <jim@meyering.net>
4953
4954         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
4955         of gettimeofday.  It would conflict with the one now always
4956         provided via sys_time_.h.  Reported by Matthew Woehlke, as
4957         an IRIX 6.5 build failure.
4958
4959 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
4960
4961         Minor fixups to port to Solaris 10 with Sun C 5.8.
4962         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
4963         * modules/getcwd (Depends-on): Add dirfd.
4964         * lib/putenv.c (putenv): #undef it.
4965         (rpl_putenv): New decl.
4966         (malloc, free): Include <stdlib.h> rather than prototyping separately.
4967
4968 2007-02-20  Bruno Haible  <bruno@clisp.org>
4969
4970         * modules/stdio-tests: New file.
4971         * tests/test-stdio.c: New file.
4972
4973         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
4974         (Depends-on): Add stdio.
4975         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
4976         (Include): Use <stdio.h> instead of vsnprintf.h.
4977         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
4978         HAVE_DECL_VSNPRINTF.
4979         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
4980
4981         * modules/snprintf (Files): Remove lib/snprintf.h.
4982         (Depends-on): Add stdio.
4983         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
4984         (Include): Use <stdio.h> instead of snprintf.h.
4985         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
4986         HAVE_DECL_SNPRINTF.
4987         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
4988         * lib/getaddrinfo.c: Likewise.
4989
4990         * modules/stdio: New file.
4991         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
4992         * lib/snprintf.h: Remove file.
4993         * lib/vsnprintf.h: Remove file.
4994         * lib/.cppi-disable: Remove snprintf.h.
4995         * m4/stdio_h.m4: New file.
4996         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
4997
4998 2007-02-20  Jim Meyering  <jim@meyering.net>
4999
5000         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
5001         used by e.g., mingw.  From Bruno Haible.
5002
5003 2007-02-19  Bruno Haible  <bruno@clisp.org>
5004
5005         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
5006         warnings.
5007         Reported by Ben Pfaff <blp@cs.stanford.edu>.
5008
5009 2007-02-19  Bruno Haible  <bruno@clisp.org>
5010
5011         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
5012         from mingw users.
5013
5014 2007-02-19  Bruno Haible  <bruno@clisp.org>
5015
5016         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
5017         warnings.
5018         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
5019
5020 2007-02-19  Jim Meyering  <jim@meyering.net>
5021
5022         Don't use FD after a successful "fdopendir (fd)".
5023         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
5024         Reset it by calling dirfd on the just-obtained DIR*.
5025
5026         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
5027         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
5028
5029 2007-02-18  Bruno Haible  <bruno@clisp.org>
5030
5031         * lib/readlink.c: Include <unistd.h>.
5032         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
5033         HAVE_READLINK.
5034         * modules/readlink (Depends-on): Add unistd.
5035         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5036         (Include): Add <unistd.h>.
5037
5038         * lib/getlogin_r.h: Remove file.
5039         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
5040         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
5041         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
5042         HAVE_DECL_GETLOGIN_R.
5043         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
5044         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5045         (Include): Use <unistd.h> instead of getlogin_r.h.
5046
5047         * lib/getcwd.h: Remove file.
5048         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
5049         * lib/xgetcwd.c: Likewise.
5050         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
5051         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
5052         * modules/getcwd (Files): Remove lib/getcwd.h.
5053         (Depends-on): Add unistd.
5054         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5055         (Include): Use <unistd.h> instad of getcwd.h.
5056
5057         * lib/ftruncate.c: Include <unistd.h> first.
5058         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
5059         Set HAVE_FTRUNCATE.
5060         * modules/ftruncate (Depends-on): Add unistd.
5061         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5062
5063         * lib/fchdir.c: Include <unistd.h> first.
5064         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
5065         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
5066         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
5067         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5068         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
5069
5070         * lib/dup2.c: Include <unistd.h> first.
5071         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
5072         HAVE_DUP2.
5073         * modules/dup2 (Depends-on): Add unistd.
5074         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5075
5076         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
5077         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
5078         REPLACE_CHOWN. Don't define chown as a macro here.
5079         * modules/chown (Depends-on): Add unistd.
5080         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
5081
5082         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
5083         Add definition for GL_LINK_WARNING.
5084         (chown, dup2): New declarations.
5085         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
5086         link warning.
5087         (ftruncate): New declaration.
5088         (getcwd): New declaration, taken from old getcwd.h.
5089         (getlogin_r): New declaration, taken from old getlogin_r.h.
5090         (readlink): New declaration.
5091         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
5092         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
5093         (gl_PREREQ_UNISTD): Remove macro.
5094         (gl_UNISTD_MODULE_INDICATOR): New macro.
5095         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
5096         many new variables. Don't set UNISTD_H.
5097         * modules/unistd (Description): Change.
5098         (Depends-on): Add link-warning.
5099         (configure.ac): Update.
5100         (Makefile.am): Create unistd.h always. Substitute many new variables
5101         into it.
5102
5103 2007-02-18  Bruno Haible  <bruno@clisp.org>
5104
5105         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
5106         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
5107         HAVE_GETSUBOPT.
5108         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
5109         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
5110         * lib/getsubopt.h: Remove file.
5111         * modules/getsubopt (Files): Remove lib/getsubopt.h.
5112         (Depends-on): Add stdlib.
5113         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
5114         (Includes): Use <stdlib.h> instead of getsubopt.h.
5115         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
5116         Set HAVE_GETSUBOPT.
5117         * lib/getsubopt.c: Don't include getsubopt.h.
5118
5119 2007-02-18  Bruno Haible  <bruno@clisp.org>
5120
5121         * modules/fchdir (Depends-on): Add dup2.
5122
5123 2007-02-18  Bruno Haible  <bruno@clisp.org>
5124
5125         * lib/stdlib_.h: Handle glibc's special invocation convention
5126         specially.
5127
5128 2007-02-18  Bruno Haible  <bruno@clisp.org>
5129
5130         * modules/stdlib-tests: New file.
5131         * tests/test-stdlib.c: New file.
5132
5133         * modules/mkstemp (Files): Remove lib/mkstemp.h.
5134         (Depends-on): Add stdlib.
5135         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
5136         (Includes): Use <stdlib.h> instead of mkstemp.h.
5137         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
5138         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
5139         * lib/mkstemp.c: Don't include mkstemp.h.
5140         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
5141         * lib/stdlib--.h: Don't include mkstemp.h.
5142
5143         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
5144         (Depends-on): Add stdlib.
5145         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
5146         (Includes): Use <stdlib.h> instead of mkdtemp.h.
5147         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
5148         HAVE_MKDTEMP.
5149         * lib/mkdtemp.c: Don't include mkdtemp.h.
5150         * lib/clean-temp.c: Don't include mkdtemp.h.
5151
5152         * modules/exit (Files): Remove lib/exit.h.
5153         (Depends-on): Add stdlib.
5154         (Makefile.am): Remove lib_SOURCES.
5155         (Include): Use <stdlib.h> instead of exit.h.
5156         * lib/argmatch.c: Don't include exit.h.
5157         * lib/execute.c: Likewise.
5158         * lib/pagealign_alloc.c: Likewise.
5159         * lib/pipe.c: Likewise.
5160         * lib/wait-process.c: Likewise.
5161         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
5162         * lib/exitfail.c: Likewise.
5163         * lib/savewd.c: Likewise.
5164         * lib/xsetenv.c: Likewise.
5165
5166         * modules/stdlib: New file.
5167         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
5168         and extra comments about mkstemp().
5169         * lib/exit.h: Remove file.
5170         * lib/mkdtemp.h: Remove file.
5171         * lib/mkstemp.h: Remove file.
5172         * m4/stdlib_h.m4: New file.
5173         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
5174
5175 2007-02-18  Bruno Haible  <bruno@clisp.org>
5176
5177         * modules/math-tests: New file.
5178         * tests/test-math.c: New file.
5179
5180         * modules/math: New file.
5181         * modules/mathl (Files): Remove lib/mathl.h.
5182         (Depends-on): Add math.
5183         (Makefile.am): Don't mention mathl.h.
5184         (Include): Use <math.h> instead of mathl.h.
5185         * lib/math_.h: New file.
5186         * lib/mathl.h: Remove file.
5187         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
5188         mathl.h.
5189         * lib/asinl.c: Likewise.
5190         * lib/atanl.c: Likewise.
5191         * lib/ceill.c: Likewise.
5192         * lib/cosl.c: Likewise.
5193         * lib/expl.c: Likewise.
5194         * lib/floorl.c: Likewise.
5195         * lib/frexpl.c: Likewise.
5196         * lib/ldexpl.c: Likewise.
5197         * lib/logl.c: Likewise.
5198         * lib/sincosl.c: Likewise.
5199         * lib/sinl.c: Likewise.
5200         * lib/sqrtl.c: Likewise.
5201         * lib/tanl.c: Likewise.
5202         * lib/trigl.c: Likewise.
5203         * m4/math_h.m4: New file.
5204         * MODULES.html.sh (Mathematics): Add math.
5205
5206 2007-02-17  Bruno Haible  <bruno@clisp.org>
5207
5208         * modules/wctype-tests: New file.
5209         * tests/test-wctype.c: New file.
5210
5211         * modules/wchar-tests: New file.
5212         * tests/test-wchar.c: New file.
5213
5214         * modules/unistd-tests: New file.
5215         * tests/test-unistd.c: New file.
5216
5217         * modules/time-tests: New file.
5218         * tests/test-time.c: New file.
5219
5220         * modules/sysexits-tests: New file.
5221         * tests/test-sysexits.c: New file.
5222
5223         * modules/sys_time-tests: New file.
5224         * tests/test-sys_time.c: New file.
5225
5226         * modules/sys_stat-tests: New file.
5227         * tests/test-sys_stat.c: New file.
5228
5229         * modules/sys_socket-tests: New file.
5230         * tests/test-sys_socket.c: New file.
5231
5232         * modules/sys_select-tests: New file.
5233         * tests/test-sys_select.c: New file.
5234
5235         * modules/string-tests: New file.
5236         * tests/test-string.c: New file.
5237
5238         * modules/stdbool-tests: New file.
5239         * tests/test-stdbool.c: New file.
5240
5241         * modules/netinet_in-tests: New file.
5242         * tests/test-netinet_in.c: New file.
5243
5244         * modules/inttypes-tests: New file.
5245         * tests/test-inttypes.c: New file.
5246
5247         * modules/fcntl-tests: New file.
5248         * tests/test-fcntl.c: New file.
5249
5250         * modules/byteswap-tests: New file.
5251         * tests/test-byteswap.c: New file.
5252
5253         * modules/arpa_inet-tests: New file.
5254         * tests/test-arpa_inet.c: New file.
5255
5256 2007-02-17  Bruno Haible  <bruno@clisp.org>
5257
5258         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
5259         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
5260         if the corresponding module is not enabled. Emit link warnings if
5261         the function is used nevertheless.
5262         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
5263         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
5264         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
5265         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
5266         * modules/inttypes (Depends-on): Add link-warning.
5267         (Makefile.am): Copy the contents of build-aux/link-warning.h into
5268         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
5269         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
5270         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
5271         * modules/imaxdiv (configure.ac): Likewise.
5272         * modules/strtoimax (configure.ac): Likewise.
5273         * modules/strtoumax (configure.ac): Likewise.
5274
5275 2007-02-17  Bruno Haible  <bruno@clisp.org>
5276
5277         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
5278         gl_STRING_MODULE_INDICATOR_DEFAULTS.
5279         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
5280         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
5281
5282 2007-02-17  Bruno Haible  <bruno@clisp.org>
5283
5284         * modules/link-warning: New file.
5285         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
5286         * lib/string_.h (GL_LINK_WARNING): Remove definition.
5287         * modules/string (Depends-on): Add link-warning.
5288         (Makefile.am): Copy the contents of build-aux/link-warning.h into
5289         string.h.
5290         * MODULES.html.sh (Support for building libraries and executables): Add
5291         link-warning.
5292
5293 2007-02-17  Bruno Haible  <bruno@clisp.org>
5294
5295         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
5296         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
5297         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
5298         long lines.
5299
5300 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
5301             Bruno Haible  <bruno@clisp.org>
5302
5303         * modules/tmpfile: New file.
5304         * lib/tmpfile.c: New file.
5305         * m4/tmpfile.m4: New file.
5306         * MODULES.html.sh (func_all_modules): New section "Input/output".
5307
5308 2007-02-15  Bruno Haible  <bruno@clisp.org>
5309
5310         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
5311         (supports_delete_on_close): New function.
5312         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
5313
5314 2007-02-14  Bruno Haible  <bruno@clisp.org>
5315
5316         * modules/mbspcasecmp-tests: New file.
5317         * tests/test-mbspcasecmp.sh: New file.
5318         * tests/test-mbspcasecmp.c: New file.
5319
5320         New module mbspcasecmp.
5321         * modules/mbspcasecmp: New file.
5322         * lib/mbspcasecmp.c: New file.
5323         * lib/string_.h (strncasecmp): Change warning message.
5324         (mbspcasecmp): New declaration.
5325         * m4/mbspcasecmp.m4: New file.
5326         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5327         GNULIB_MBSPCASECMP.
5328         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
5329         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
5330
5331 2007-02-14  Bruno Haible  <bruno@clisp.org>
5332
5333         * modules/mbsncasecmp-tests: New file.
5334         * tests/test-mbsncasecmp.sh: New file.
5335         * tests/test-mbsncasecmp.c: New file.
5336
5337         New module mbsncasecmp.
5338         * modules/mbsncasecmp: New file.
5339         * lib/mbsncasecmp.c: New file.
5340         * lib/string_.h (mbsncasecmp): New declaration.
5341         * m4/mbsncasecmp.m4: New file.
5342         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5343         GNULIB_MBSNCASECMP.
5344         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
5345         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
5346
5347 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
5348
5349         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
5350         Verify that it doesn't overlap with our flags.
5351         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
5352         do not have the desired effect in multibyte locales; instead, use
5353         mbscasecmp.
5354         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
5355         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
5356         we don't require GNU fnmatch ourselves (if our users require it, they
5357         should do so explicitly).
5358
5359         Fix regex code so it doesn't rely on strcasecmp.
5360         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
5361         Otherwise, include gnulib's langinfo.h.
5362         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
5363         undesirable behavior in non-C locales.  Instead, rely on localecharset.
5364         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
5365         * modules/regex (FILES): Remove m4/codeset.m4.
5366         (Depends-on): Add localcharset.  Remove strcase.
5367
5368 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5369
5370         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
5371         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5372
5373 2007-02-13  Bruno Haible  <bruno@clisp.org>
5374
5375         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
5376         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5377
5378 2007-02-12  Bruno Haible  <bruno@clisp.org>
5379
5380         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
5381         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
5382         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
5383         time warning rather than a link error.
5384
5385 2007-02-12  Bruno Haible  <bruno@clisp.org>
5386
5387         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
5388         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
5389         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5390
5391 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
5392
5393         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
5394         args, not 2.
5395
5396 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
5397
5398         New module 'time', so that apps can include <time.h> as per
5399         POSIX and GNU instead of separate include files like time_r.h
5400         and timegm.h.  This implementation tries out a simpler approach
5401         for replacing decls in standard include files (as compared to
5402         the string module), somewhat as an experiment.
5403
5404         * config/srclist.txt: Comment out mktime.c for now.
5405         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
5406         since it doesn't apply any more.  Use generic wording instead.
5407         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
5408         'time'.
5409         * lib/time_.h, m4/time_h.m4, modules/time: New files.
5410         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
5411         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
5412         Don't include <sys/types.h>; no longer needed since we assume C89.
5413         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
5414         * lib/strftime.c: Likewise.
5415         * lib/time_r.c: Likewise.
5416         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
5417         * lib/nanosleep.c: Include <time.h> first, to check interface.
5418         * lib/strptime.c: Likewise.
5419         * lib/time_r.c: Likewise.
5420         * lib/timegm.c: Likewise.
5421         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
5422         needed.
5423         * lib/timegm.c: Don't include timegm.h; no longer needed.
5424         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
5425         time.h now handles any problems in that area.
5426         (struct timespec, nanosleep): Remove; time.h now arranges for these.
5427         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
5428         that time.h defines struct timespec.
5429         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
5430         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
5431         handles that.
5432         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
5433         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
5434         needed.  Set REPLACE_LOCALTIME.
5435         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
5436         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
5437         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
5438         nanosleep; time_h.m4 now does that.  Don't require
5439         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
5440         module handles this now.
5441         * modules/getdate (Depends-on): Remove timespec.  Add time.
5442         * modules/nanosleep (Depends-on): Likewise.
5443         * modules/stat-time (Depends-on): Likewise.
5444         * modules/nanosleep (Include): Include time.h, not timespec.h.
5445         * modules/strptime (Files): Remove lib/strptime.h.
5446         (Depends-on): Add extensions, time.
5447         (Include): Include time.h, not strptime.h.
5448         * modules/time_r (Files): Remove lib/time_r.h.
5449         (Depends-on): Add time.
5450         (Include): Include time.h, not time_r.h.
5451         * modules/timegm: Likewise.
5452         * modules/timespec (Description): Now does timespec-related decls
5453         of our own, instead of struct timespec itself.
5454         (Depends-on): Add time; remove extensions.
5455         (Maintainer): Add self.
5456         * modules/utimecmp (Depends-on): Add time; remove timespec.
5457         * modules/utimens (Depends-on): Likewise.
5458         * modules/xnanosleep (Depends-on): Likewise.
5459
5460 2007-02-11  Bruno Haible  <bruno@clisp.org>
5461
5462         * lib/c-strstr.c: Include allocsa.h.
5463         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
5464         * lib/c-strcasestr.c: Include allocsa.h.
5465         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
5466         * lib/strcasestr.c: Include allocsa.h.
5467         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
5468         * lib/mbsstr.c: Include allocsa.h.
5469         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
5470         allocsa/freesa instead of malloc/free.
5471         * lib/mbscasestr.c: Include allocsa.h.
5472         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
5473         allocsa/freesa instead of malloc/free.
5474         * modules/c-strstr (Depends-on): Add allocsa.
5475         * modules/c-strcasestr (Depends-on): Likewise.
5476         * modules/strcasestr (Depends-on): Likewise.
5477         * modules/mbsstr (Depends-on): Likewise.
5478         * modules/mbscasestr (Depends-on): Likewise.
5479
5480 2007-02-11  Bruno Haible  <bruno@clisp.org>
5481
5482         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
5483
5484         * modules/mbsspn-tests: New file.
5485         * tests/test-mbsspn.sh: New file.
5486         * tests/test-mbsspn.c: New file.
5487
5488 2007-02-11  Bruno Haible  <bruno@clisp.org>
5489
5490         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
5491
5492         * modules/mbspbrk-tests: New file.
5493         * tests/test-mbspbrk.sh: New file.
5494         * tests/test-mbspbrk.c: New file.
5495
5496 2007-02-11  Bruno Haible  <bruno@clisp.org>
5497
5498         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
5499         unneeded cast.
5500
5501         * modules/mbscspn-tests: New file.
5502         * tests/test-mbscspn.sh: New file.
5503         * tests/test-mbscspn.c: New file.
5504
5505 2007-02-11  Bruno Haible  <bruno@clisp.org>
5506
5507         * modules/mbscasecmp-tests: New file.
5508         * tests/test-mbscasecmp.sh: New file.
5509         * tests/test-mbscasecmp.c: New file.
5510
5511 2007-02-11  Bruno Haible  <bruno@clisp.org>
5512
5513         Ensure O(n) worst-case complexity of mbscasestr.
5514         * lib/mbscasestr.c: Include stdbool.h.
5515         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
5516         functions.
5517         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
5518         the bookkeeping indicates that it's worth it.
5519         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
5520
5521         * modules/mbscasestr-tests: New file.
5522         * tests/test-mbscasestr1.c: New file.
5523         * tests/test-mbscasestr2.sh: New file.
5524         * tests/test-mbscasestr2.c: New file.
5525         * tests/test-mbscasestr3.sh: New file.
5526         * tests/test-mbscasestr3.c: New file.
5527         * tests/test-mbscasestr4.sh: New file.
5528         * tests/test-mbscasestr4.c: New file.
5529         * m4/locale-tr.m4: New file.
5530
5531 2007-02-11  Bruno Haible  <bruno@clisp.org>
5532
5533         Ensure O(n) worst-case complexity of mbsstr.
5534         * lib/mbsstr.c: Include stdbool.h.
5535         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
5536         functions.
5537         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
5538         bookkeeping indicates that it's worth it.
5539         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
5540
5541         * modules/mbsstr-tests: New file.
5542         * tests/test-mbsstr1.c: New file.
5543         * tests/test-mbsstr2.sh: New file.
5544         * tests/test-mbsstr2.c: New file.
5545         * tests/test-mbsstr3.sh: New file.
5546         * tests/test-mbsstr3.c: New file.
5547         * m4/locale-fr.m4: New file.
5548
5549 2007-02-11  Bruno Haible  <bruno@clisp.org>
5550
5551         * lib/mbsrchr.c (mbsrchr): Fix bug.
5552
5553         * modules/mbsrchr-tests: New file.
5554         * tests/test-mbsrchr.sh: New file.
5555         * tests/test-mbsrchr.c: New file.
5556
5557 2007-02-11  Bruno Haible  <bruno@clisp.org>
5558
5559         * lib/mbschr.c (mbschr): Fix bug.
5560
5561         * modules/mbschr-tests: New file.
5562         * tests/test-mbschr.sh: New file.
5563         * tests/test-mbschr.c: New file.
5564         * m4/locale-zh.m4: New file.
5565
5566 2007-02-11  Bruno Haible  <bruno@clisp.org>
5567
5568         Support for copying multibyte string iterators.
5569         * lib/mbiter.h: Include <string.h>.
5570         (mbiter_multi_copy): New function.
5571         (mbi_copy): New macro.
5572         * lib/mbuiter.h: Include <string.h>.
5573         (mbuiter_multi_copy): New function.
5574         (mbui_copy): New macro.
5575
5576 2007-02-11  Bruno Haible  <bruno@clisp.org>
5577
5578         New module mbslen.
5579         * modules/mbslen: New file.
5580         * lib/mbslen.c: New file.
5581         * lib/string_.h (mbslen): New declaration.
5582         * m4/mbslen.m4: New file.
5583         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5584         GNULIB_MBSLEN.
5585         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
5586         * MODULES.html.sh (Internationalization functions): Add mbslen.
5587
5588 2007-02-11  Bruno Haible  <bruno@clisp.org>
5589
5590         Ensure O(n) worst-case complexity of strcasestr substitute.
5591         * lib/strcasestr.c: Include stdbool.h.
5592         (knuth_morris_pratt): New function.
5593         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
5594         bookkeeping indicates that it's worth it.
5595         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
5596
5597         * modules/strcasestr-tests: New file.
5598         * tests/test-strcasestr.c: New file.
5599
5600 2007-02-11  Bruno Haible  <bruno@clisp.org>
5601
5602         Ensure O(n) worst-case complexity of c_strcasestr.
5603         * lib/c-strcasestr.c: Include stdbool.h, string.h.
5604         (knuth_morris_pratt): New function.
5605         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
5606         the bookkeeping indicates that it's worth it.
5607         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
5608
5609         * modules/c-strcasestr-tests: New file.
5610         * tests/test-c-strcasestr.c: New file.
5611
5612 2007-02-11  Bruno Haible  <bruno@clisp.org>
5613
5614         Ensure O(n) worst-case complexity of c_strstr.
5615         * lib/c-strstr.c: Include stdbool.h, string.h.
5616         (knuth_morris_pratt): New function.
5617         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
5618         bookkeeping indicates that it's worth it.
5619         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
5620
5621         * lib/c-strstr.c: Complete rewrite for maintainability.
5622
5623         * modules/c-strstr-tests: New file.
5624         * tests/test-c-strstr.c: New file.
5625
5626 2007-02-11  Bruno Haible  <bruno@clisp.org>
5627
5628         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
5629         5.2.1 and earlier, whereby \055 was treated just like the range
5630         delimiter '-'.
5631         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
5632
5633 2007-02-08  Bruno Haible  <bruno@clisp.org>
5634
5635         * modules/regex (Depends-on): Add stdbool.
5636         Reported by Dalibor Topic <robilad@kaffe.org>.
5637
5638 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
5639
5640         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
5641         Prefer returning from main to exiting from it.
5642         Remove unnecessary parens after sizeof.
5643
5644 2007-02-05  Bruno Haible  <bruno@clisp.org>
5645
5646         New module mbssep.
5647         * modules/mbssep: New file.
5648         * lib/mbssep.c: New file.
5649         * lib/string_.h (strsep): Add a conditional link warning.
5650         (mbssep): New declaration.
5651         * m4/mbssep.m4: New file.
5652         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5653         GNULIB_MBSSEP.
5654         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
5655         * MODULES.html.sh (Internationalization functions): Add mbssep.
5656
5657 2007-02-05  Bruno Haible  <bruno@clisp.org>
5658
5659         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
5660         Optimize search in case of 1 delimiter.
5661
5662 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
5663
5664         * lib/acl.h: Include sys/types.h before sys/acl.h.
5665
5666 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
5667
5668         Merge upstream fix for glibc bugzilla #3957:
5669
5670         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
5671
5672         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
5673         bit for RE_HAT_LISTS_NOT_NEWLINE.
5674         (build_charclass_op): Remove bogus comment.
5675
5676 2007-02-05  Simon Josefsson  <simon@josefsson.org>
5677
5678         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
5679
5680 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
5681
5682         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
5683         * lib/memmem.c [!defined _LIBC]: Include config.h.
5684
5685 2007-02-04  Bruno Haible  <bruno@clisp.org>
5686
5687         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
5688         warning message.
5689
5690 2007-02-04  Bruno Haible  <bruno@clisp.org>
5691
5692         New module mbstok_r.
5693         * modules/mbstok_r: New file.
5694         * lib/mbstok_r.c: New file.
5695         * lib/string_.h (strtok_r): Change argument names to match the
5696         comments. Add a conditional link warning.
5697         (mbstok_r): New declaration.
5698         * m4/mbstok_r.m4: New file.
5699         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5700         GNULIB_MBSTOK_R.
5701         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
5702         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
5703
5704 2007-02-04  Bruno Haible  <bruno@clisp.org>
5705
5706         New module mbsspn.
5707         * modules/mbsspn: New file.
5708         * lib/mbsspn.c: New file.
5709         * lib/string_.h (strspn): Add a conditional link warning.
5710         (mbsspn): New declaration.
5711         * m4/mbsspn.m4: New file.
5712         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5713         GNULIB_MBSSPN.
5714         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
5715         * MODULES.html.sh (Internationalization functions): Add mbsspn.
5716
5717 2007-02-04  Bruno Haible  <bruno@clisp.org>
5718
5719         New module mbspbrk.
5720         * modules/mbspbrk: New file.
5721         * lib/mbspbrk.c: New file.
5722         * lib/string_.h (strpbrk): Add a conditional link warning.
5723         (mbspbrk): New declaration.
5724         * m4/mbspbrk.m4: New file.
5725         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5726         GNULIB_MBSPBRK.
5727         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
5728         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
5729
5730 2007-02-04  Bruno Haible  <bruno@clisp.org>
5731
5732         New module mbscspn.
5733         * modules/mbscspn: New file.
5734         * lib/mbscspn.c: New file.
5735         * lib/string_.h (strcspn): Add a conditional link warning.
5736         (mbscspn): New declaration.
5737         * m4/mbscspn.m4: New file.
5738         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5739         GNULIB_MBSCSPN.
5740         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
5741         * MODULES.html.sh (Internationalization functions): Add mbscspn.
5742
5743 2007-02-04  Bruno Haible  <bruno@clisp.org>
5744
5745         New module mbscasestr, reduced goal of strcasestr.
5746         * modules/mbscasestr: New file.
5747         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
5748         (mbscasestr): Renamed from strcasestr.
5749         * lib/strcasestr.c: Don't include mbuiter.h.
5750         (strcasestr): Remove support for multibyte locales.
5751         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
5752         Change the conditional link warning.
5753         (mbscasestr): New declaration.
5754         * m4/mbscasestr.m4: New file.
5755         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
5756         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
5757         REPLACE_STRCASESTR.
5758         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
5759         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
5760         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
5761         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
5762         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
5763         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
5764         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
5765         (Depends-on): Remove mbuiter.
5766         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
5767
5768 2007-02-04  Bruno Haible  <bruno@clisp.org>
5769
5770         Simplify handling of strncasecmp.
5771         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
5772         the conditional link warning.
5773         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
5774         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
5775         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
5776         * modules/strcase (configure.ac): Don't invoke
5777         gl_STRING_MODULE_INDICATOR.
5778         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
5779
5780 2007-02-04  Bruno Haible  <bruno@clisp.org>
5781
5782         New module mbscasecmp, reduced goal of strcasecmp.
5783         * modules/mbscasecmp: New file.
5784         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
5785         (mbscasecmp): Renamed from strcasecmp.
5786         * lib/strcasecmp.c: Don't include mbuiter.h.
5787         (strcasecmp): Remove support for multibyte locales.
5788         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
5789         Change the conditional link warning.
5790         (mbscasecmp): New declaration.
5791         * m4/mbscasecmp.m4: New file.
5792         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
5793         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
5794         REPLACE_STRCASECMP.
5795         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
5796         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5797         GNULIB_MBSCASECMP.
5798         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
5799         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
5800         * modules/strcase (Files): Remove m4/mbrtowc.m4.
5801         (Depends-on): Remove mbuiter.
5802         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
5803
5804 2007-02-04  Bruno Haible  <bruno@clisp.org>
5805
5806         New module mbsstr. Remove module strstr.
5807         * modules/mbsstr: New file.
5808         * modules/strstr: Remove file.
5809         * lib/mbsstr.c: Renamed from lib/strstr.c.
5810         (mbsstr): Renamed from strstr.
5811         * lib/string_.h (strstr): Remove declaration. Change the conditional
5812         link warning.
5813         (mbsstr): New declaration.
5814         * m4/mbsstr.m4: New file.
5815         * m4/strstr.m4: Remove file.
5816         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
5817         REPLACE_STRSTR.
5818         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
5819         Don't initialize GNULIB_STRSTR.
5820         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
5821         substitute GNULIB_STRSTR and REPLACE_STRSTR.
5822         * MODULES.html.sh (Internationalization functions): Add mbsstr.
5823         (Support for systems lacking ANSI C 89): Remove strstr.
5824
5825 2007-02-04  Bruno Haible  <bruno@clisp.org>
5826
5827         New module mbsrchr.
5828         * modules/mbsrchr: New file.
5829         * lib/mbsrchr.c: New file.
5830         * lib/string_.h (strrchr): Add a conditional link warning.
5831         (mbsrchr): New declaration.
5832         * m4/mbsrchr.m4: New file.
5833         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5834         GNULIB_MBSRCHR.
5835         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
5836         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
5837
5838 2007-02-04  Bruno Haible  <bruno@clisp.org>
5839
5840         New module mbschr.
5841         * modules/mbschr: New file.
5842         * lib/mbschr.c: New file.
5843         * lib/string_.h (strchr): Add a conditional link warning.
5844         (mbschr): New declaration.
5845         * m4/mbschr.m4: New file.
5846         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
5847         GNULIB_MBSCHR.
5848         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
5849         * MODULES.html.sh (Internationalization functions): Add mbschr.
5850
5851 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
5852
5853         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
5854
5855         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
5856
5857 2007-02-04  Bruno Haible  <bruno@clisp.org>
5858
5859         New module description section 'configure.ac-early'.
5860         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
5861         (func_get_autoconf_early_snippet): New function.
5862         (func_import, func_create_testdir): Use it. Remove special cases for
5863         modules 'extensions' and 'lock'.
5864         * modules/extensions (configure.ac-early): Require
5865         gl_USE_SYSTEM_EXTENSIONS.
5866         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
5867
5868 2007-02-04  Bruno Haible  <bruno@clisp.org>
5869
5870         Make use of gcj-4.3's -fsource and -ftarget option.
5871         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
5872         and if so try the options -fsource and -ftarget.
5873         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
5874         source_version, ftarget_option, target_version arguments.
5875         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
5876         (is_envjavac_oldgcj_14_14_usable): Renamed from
5877         is_envjavac_gcj_14_14_usable.
5878         (is_envjavac_oldgcj_14_13_usable): Renamed from
5879         is_envjavac_gcj_14_13_usable.
5880         (is_gcj_present): Update.
5881         (is_gcj_43, is_gcj43_usable): New functions.
5882         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
5883         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
5884         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
5885         try the options -fsource and -ftarget.
5886
5887 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
5888
5889         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
5890         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
5891         larger value.
5892
5893 2007-02-03  Jim Meyering  <jim@meyering.net>
5894
5895         Give tools a better chance to allocate space for very large buffers.
5896         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
5897
5898         Make pwd and readlink work also when run with an unreadable parent dir
5899         on systems with openat support.
5900         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
5901         provided getcwd function, even when we have openat support.
5902         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
5903
5904 2007-02-02  Bruno Haible  <bruno@clisp.org>
5905
5906         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
5907         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
5908         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
5909         portability problems if one of these functions is only used on specific
5910         platforms.
5911         Reported by Paul Eggert.
5912
5913 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
5914
5915         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
5916         is causing more trouble than it's curing.
5917         * lib/regex_internal.h (__mempcpy): Remove.
5918         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
5919         (and make the code a tad smaller to boot).
5920         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
5921
5922 2007-02-02  Jim Meyering  <jim@meyering.net>
5923
5924         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
5925         section, not in the Makefile.am: one.
5926
5927 2007-02-02  Eric Blake  <ebb9@byu.net>
5928
5929         * lib/strchrnul.c: Always include config.h first.
5930
5931         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
5932         gnulib strstr is not necessary here.
5933
5934 2007-02-02  Simon Josefsson  <simon@josefsson.org>
5935
5936         * m4/socklen.m4: Fix typo.
5937
5938 2007-02-02  Eric Blake  <ebb9@byu.net>
5939
5940         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
5941         * modules/netinet_in (Makefile.am): Likewise.
5942
5943 2007-02-01  Bruno Haible  <bruno@clisp.org>
5944
5945         * lib/string_.h (GL_LINK_WARNING): New macro.
5946         (strcasecmp, strstr, strcasestr): If provided by the system,
5947         conditionally define as a macro that leads to a warning instead of to
5948         an error.
5949         (strncasecmp): Conditionally define as a macro that leads to a warning.
5950
5951 2007-02-01  Karl Berry  <karl@gnu.org>
5952
5953         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
5954
5955 2007-02-01  Bruno Haible  <bruno@clisp.org>
5956
5957         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
5958         renamings.
5959
5960 2007-02-01  Eric Blake  <ebb9@byu.net>
5961
5962         * modules/regex (Depends-on): Revert dependence on mempcpy.
5963         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
5964         module's definition of mempcpy.
5965         Reported by Paul Eggert.
5966
5967 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
5968
5969         * lib/string_.h: If the gnulib module XYZ is not present, undefine
5970         the symbol XYZ before redefining it.  This fixes a problem with
5971         programs that don't use XYZ, when compiled on systems that define
5972         XYZ to something else.
5973
5974 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
5975
5976         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
5977         occurs when "mkdir -m foo" creates a setgid directory that is (1)
5978         writeable to group or other and (2) is intended to have a special
5979         mode bit that is set or cleared.  In such a case, the directory
5980         should be neither group- nor other-writeable until the special
5981         mode bits are right.
5982
5983 2007-01-31  Eric Blake  <ebb9@byu.net>
5984
5985         * modules/mountlist (Depends-on): Add strstr.
5986
5987         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
5988         bug.
5989         * modules/string (Makefile.am): Remove redundant replacement.
5990         * modules/regex (Depends-on): Add mempcpy.
5991
5992 2007-01-31  Bruno Haible  <bruno@clisp.org>
5993
5994         New module description field 'Link'.
5995         * gnulib-tool (func_usage): Document --extract-link-directive.
5996         (sed_extract_prog): Recognize 'Link' directive.
5997         (func_get_link_directive): New function.
5998         (func_import): Show summary of link directives.
5999         Handle --extract-link-directive option.
6000         * modules/acl (Link): New section.
6001         * modules/clock-time (Link): New section.
6002         * modules/euidaccess (Link): New section.
6003         * modules/gettext (Link): New section.
6004         * modules/iconv (Link): New section.
6005         * modules/lock (Link): New section.
6006         * modules/nanosleep (Link): New section.
6007         * modules/readline (Link): New section.
6008
6009 2007-01-27  Bruno Haible  <bruno@clisp.org>
6010
6011         Enforce the use of gnulib modules for unportable <string.h> functions.
6012         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
6013         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
6014         (gl_HEADER_STRING_H_BODY): Require it.
6015         * lib/string_.h: If the gnulib module XYZ is not present, redefine
6016         the symbol XYZ to one that gives a link error.
6017         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
6018         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
6019         * modules/mempcpy (configure.ac): Likewise.
6020         * modules/memrchr (configure.ac): Likewise.
6021         * modules/stpcpy (configure.ac): Likewise.
6022         * modules/stpncpy (configure.ac): Likewise.
6023         * modules/strcase (configure.ac): Likewise.
6024         * modules/strcasestr (configure.ac): Likewise.
6025         * modules/strchrnul (configure.ac): Likewise.
6026         * modules/strdup (configure.ac): Likewise.
6027         * modules/strndup (configure.ac): Likewise.
6028         * modules/strnlen (configure.ac): Likewise.
6029         * modules/strpbrk (configure.ac): Likewise.
6030         * modules/strsep (configure.ac): Likewise.
6031         * modules/strstr (configure.ac): Likewise.
6032         * modules/strtok_r (configure.ac): Likewise.
6033
6034 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
6035
6036         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
6037
6038 2007-01-30  Jim Meyering  <jim@meyering.net>
6039
6040         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
6041
6042 2007-01-29  Bruno Haible  <bruno@clisp.org>
6043
6044         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
6045         * lib/execute.c: Likewise.
6046         * lib/pipe.c: Likewise.
6047         * lib/printf-args.h: Likewise.
6048         * lib/printf-args.c: Likewise.
6049         * lib/printf-parse.c: Likewise.
6050         * lib/vasnprintf.c: Likewise.
6051
6052 2007-01-29  Eric Blake  <ebb9@byu.net>
6053
6054         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
6055         declaration.
6056
6057 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
6058
6059         * lib/strptime.h (strptime): Use 'restrict' for args where
6060         POSIX requires this.
6061         * lib/strptime.c (strptime): Likewise.
6062         Change license notice from LGPL to GPL, since gnulib-tool will
6063         change this as needed.
6064         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
6065         defined.
6066         Include "strptime.h" first, to check interface.
6067         Do not #undef _LIBC and _NL_CURRENT.
6068         Do not include <stdlib.h>; no longer needed.
6069         Include "time_r.h" and declare ptime_locale_status
6070         only if _LIBC is not defined.
6071         (__P): Remove unused macro.
6072         (match_string): Bring back glibc version, but use it only if _LIBC
6073         is defined.
6074         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
6075         Remove unnecessary assertion and abort() call.
6076         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
6077         * m4/strptime.m4: Fix serial number comment.
6078         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
6079         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
6080         (Depends-on): Add time_r.
6081
6082 2007-01-29  Bruno Haible  <bruno@clisp.org>
6083
6084         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
6085         strptime.
6086         * modules/strptime (Depends-on): Add stdbool.
6087         * lib/strptime.h: Include <time.h> always. Add comments.
6088
6089 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
6090
6091         * modules/strptime: New file.
6092         * lib/strptime.h: New file.
6093         * lib/strptime.c: New file.
6094         * m4/strptime.m4: New file.
6095
6096 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
6097
6098         * MODULES.html.sh: New module mpsort.
6099         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
6100
6101         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
6102         a circularity problem with HP-UX ia64 reported by Bob Proulx in
6103         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
6104         All uses changed.
6105         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
6106         All uses changed.
6107         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
6108         to _Restrict_.
6109         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
6110         the parameter matches the prototype.
6111
6112 2007-01-28  Jim Meyering  <jim@meyering.net>
6113
6114         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
6115         sys/time.h here, reverting that part of the previous patch:
6116         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
6117
6118 2007-01-28  Bruno Haible  <bruno@clisp.org>
6119
6120         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
6121         value of $(SYS_TIME_H).
6122         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
6123         remove it conditionally, too. [added by Jim Meyering]
6124         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
6125         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
6126         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
6127         GETTIMEOFDAY_REPLACEMENT to 1.
6128
6129 2007-01-28  Bruno Haible  <bruno@clisp.org>
6130
6131         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
6132         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
6133         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
6134         Set UNISTD_H instead of UNISTD_H2.
6135         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
6136
6137 2007-01-28  Bruno Haible  <bruno@clisp.org>
6138
6139         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
6140         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
6141
6142 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6143
6144         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
6145         (func_create_testdir): Ensure C locale for `grep' and `tr'
6146         character ranges.
6147         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
6148         ACLOCAL_AMFLAGS parsing state machine.
6149
6150 2007-01-27  Bruno Haible  <bruno@clisp.org>
6151
6152         * modules/unistr/base: Update.
6153
6154 2007-01-27  Bruno Haible  <bruno@clisp.org>
6155
6156         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
6157         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
6158         * modules/unistr/u32-mbtouc-unsafe: Renamed from
6159         modules/unistr/u32-mbtouc.
6160         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
6161         * lib/unistr.h: Update.
6162         * lib/linebreak.c: Update.
6163         * modules/unistr/u32-mbtouc: Renamed from
6164         modules/unistr/u32-mbtouc-safe.
6165         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
6166         * lib/unistr.h: Update.
6167         * lib/unistr/u32-to-u8.c: Update.
6168         * lib/unistr/u32-to-u16.c: Update.
6169
6170 2007-01-27  Bruno Haible  <bruno@clisp.org>
6171
6172         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
6173         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
6174         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
6175         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
6176         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
6177         * modules/unistr/u16-mbtouc-unsafe: Renamed from
6178         modules/unistr/u16-mbtouc.
6179         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
6180         * lib/unistr.h: Update.
6181         * lib/linebreak.c: Update.
6182         * modules/linebreak: Update.
6183         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
6184         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
6185         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
6186         * modules/unistr/u16-mbtouc: Renamed from
6187         modules/unistr/u16-mbtouc-safe.
6188         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
6189         * lib/unistr.h: Update.
6190         * lib/unistr/u16-to-u8.c: Update.
6191         * modules/unistr/u16-to-u8: Update.
6192         * lib/unistr/u16-to-u32.c: Update.
6193         * modules/unistr/u16-to-u32: Update.
6194
6195 2007-01-27  Bruno Haible  <bruno@clisp.org>
6196
6197         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
6198         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
6199         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
6200         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
6201         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
6202         * modules/unistr/u8-mbtouc-unsafe: Renamed from
6203         modules/unistr/u8-mbtouc.
6204         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
6205         * lib/unistr.h: Update.
6206         * lib/striconveh.c: Update.
6207         * modules/striconveh: Update.
6208         * lib/linebreak.c: Update.
6209         * modules/linebreak: Update.
6210         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
6211         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
6212         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
6213         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
6214         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
6215         * lib/unistr.h: Update.
6216         * lib/striconveh.c: Update.
6217         * modules/striconveh: Update.
6218         * lib/unistr/u8-to-u16.c: Update.
6219         * modules/unistr/u8-to-u16: Update.
6220         * lib/unistr/u8-to-u32.c: Update.
6221         * modules/unistr/u8-to-u32: Update.
6222
6223 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6224
6225         Sync from Libtool.
6226         * lib/argz.c: Do not include strings.h nor memory.h, include
6227         string.h unconditionally.  Patch by Simon Josefsson.
6228
6229 2007-01-27  Bruno Haible  <bruno@clisp.org>
6230
6231         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
6232         from gl_HEADER_STRING_H_BODY.
6233         (gl_HEADER_STRING_H_BODY): Require it.
6234         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
6235         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
6236         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
6237         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
6238         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
6239         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
6240         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
6241         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
6242         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
6243         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
6244         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
6245         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
6246         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
6247         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
6248         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
6249
6250 2007-01-27  Bruno Haible  <bruno@clisp.org>
6251
6252         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
6253         check_PROGRAMS into noinst_PROGRAMS.
6254         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
6255         check_PROGRAMS in this case.
6256         (func_import): Set for_test to false.
6257         (func_create_testdir): Set for_test to true.
6258
6259 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
6260             Bruno Haible  <bruno@clisp.org>
6261
6262         * modules/strcasestr (Files): Remove lib/strcasestr.h.
6263         (Depends-on): Add string.
6264         (Includes): Use <string.h> instead of strcasestr.h.
6265         * modules/string (Makefile.am): Also substitute the value of
6266         REPLACE_STRCASESTR.
6267         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
6268         assume strcasestr is declared in <string.h> not <strings.h>. Also
6269         set REPLACE_STRCASESTR.
6270         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
6271         REPLACE_STRCASESTR.
6272         * lib/strcasestr.h: Remove file.
6273         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
6274         * lib/string_.h (strcasestr): New declaration.
6275
6276 2007-01-27  Bruno Haible  <bruno@clisp.org>
6277
6278         * lib/string_.h: Use 'extern'.
6279
6280 2007-01-27  Jim Meyering  <jim@meyering.net>
6281
6282         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
6283         of set-but-not-used local, "q".
6284
6285         * lib/mempcpy.c: Include <config.h> before <string.h>.
6286         This fixes a compilation error on HP-UX, due to the system's
6287         "restrict"-using mempcpy prototype.
6288
6289 2007-01-26  Bruno Haible  <bruno@clisp.org>
6290
6291         Small optimization.
6292         * lib/javacomp.c: Include c-strstr.h.
6293          (is_envjavac_gcj): Use c_strstr instead of strstr.
6294         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
6295
6296 2007-01-26  Bruno Haible  <bruno@clisp.org>
6297
6298         * MODULES.html.sh (Unicode string functions): Add the new modules.
6299
6300         * modules/uniconv/u32-strconv-to-locale: New file.
6301         * lib/uniconv/u32-strconv-to-locale.c: New file.
6302
6303         * modules/uniconv/u16-strconv-to-locale: New file.
6304         * lib/uniconv/u16-strconv-to-locale.c: New file.
6305
6306         * modules/uniconv/u8-strconv-to-locale: New file.
6307         * lib/uniconv/u8-strconv-to-locale.c: New file.
6308
6309         * modules/uniconv/u32-strconv-from-locale: New file.
6310         * lib/uniconv/u32-strconv-from-locale.c: New file.
6311
6312         * modules/uniconv/u16-strconv-from-locale: New file.
6313         * lib/uniconv/u16-strconv-from-locale.c: New file.
6314
6315         * modules/uniconv/u8-strconv-from-locale: New file.
6316         * lib/uniconv/u8-strconv-from-locale.c: New file.
6317
6318         * modules/uniconv/u32-strconv-to-enc: New file.
6319         * lib/uniconv/u32-strconv-to-enc.c: New file.
6320         * modules/uniconv/u32-strconv-to-enc-tests: New file.
6321         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
6322
6323         * modules/uniconv/u16-strconv-to-enc: New file.
6324         * lib/uniconv/u16-strconv-to-enc.c: New file.
6325         * lib/uniconv/u-strconv-to-enc.h: New file.
6326         * modules/uniconv/u16-strconv-to-enc-tests: New file.
6327         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
6328
6329         * modules/uniconv/u8-strconv-to-enc: New file.
6330         * lib/uniconv/u8-strconv-to-enc.c: New file.
6331         * modules/uniconv/u8-strconv-to-enc-tests: New file.
6332         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
6333
6334         * modules/uniconv/u32-strconv-from-enc: New file.
6335         * lib/uniconv/u32-strconv-from-enc.c: New file.
6336         * modules/uniconv/u32-strconv-from-enc-tests: New file.
6337         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
6338
6339         * modules/uniconv/u16-strconv-from-enc: New file.
6340         * lib/uniconv/u16-strconv-from-enc.c: New file.
6341         * modules/uniconv/u16-strconv-from-enc-tests: New file.
6342         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
6343
6344         * modules/uniconv/u8-strconv-from-enc: New file.
6345         * lib/uniconv/u8-strconv-from-enc.c: New file.
6346         * lib/uniconv/u-strconv-from-enc.h: New file.
6347         * modules/uniconv/u8-strconv-from-enc-tests: New file.
6348         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
6349
6350         * modules/uniconv/u32-conv-from-enc: New file.
6351         * lib/uniconv/u32-conv-from-enc.c: New file.
6352         * modules/uniconv/u32-conv-from-enc-tests: New file.
6353         * tests/uniconv/test-u32-conv-from-enc.c: New file.
6354
6355         * modules/uniconv/u16-conv-from-enc: New file.
6356         * lib/uniconv/u16-conv-from-enc.c: New file.
6357         * lib/uniconv/u-conv-from-enc.h: New file.
6358         * modules/uniconv/u16-conv-from-enc-tests: New file.
6359         * tests/uniconv/test-u16-conv-from-enc.c: New file.
6360
6361         * modules/uniconv/u8-conv-from-enc: New file.
6362         * lib/uniconv/u8-conv-from-enc.c: New file.
6363         * modules/uniconv/u8-conv-from-enc-tests: New file.
6364         * tests/uniconv/test-u8-conv-from-enc.c: New file.
6365
6366         * modules/uniconv/base: New file.
6367         * lib/uniconv.h: New file.
6368
6369 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
6370
6371         * doc/gnulib-tool.texi (Initial import): Update to match current
6372         behavior with strdup module.
6373         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
6374         * lib/memmem.h: Remove; all uses removed.  This is now done
6375         by <string.h>.
6376         * lib/mempcpy.h: Likewise.
6377         * lib/memrchr.h: Likewise.
6378         * lib/stpcpy.h: Likewise.
6379         * lib/stpncpy.h: Likewise.
6380         * lib/strcase.h: Likewise.
6381         * lib/strchrnul.h: Likewise.
6382         * lib/strdup.h: Likewise.
6383         * lib/strndup.h: Likewise.
6384         * lib/strnlen.h: Likewise.
6385         * lib/strpbrk.h: Likewise.
6386         * lib/strsep.h: Likewise.
6387         * lib/strstr.h: Likewise.
6388         * lib/strtok_r.h: Likewise.
6389         * lib/string_.h: New file.
6390         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
6391         Rely on <string.h> instead.
6392         * lib/canon-host.c: Likewise.
6393         * lib/chdir-long.c: Likewise.
6394         * lib/concatpath.c: Likewise.
6395         * lib/exclude.c: Likewise.
6396         * lib/fchdir.c: Likewise.
6397         * lib/getaddrinfo.c: Likewise.
6398         * lib/getcwd.c: Likewise.
6399         * lib/getsubopt.c: Likewise.
6400         * lib/glob.c: Likewise.
6401         * lib/hard-locale.c: Likewise.
6402         * lib/iconvme.c: Likewise.
6403         * lib/javacomp.c: Likewise.
6404         * lib/mempcpy.c: Likewise.
6405         * lib/memrchr.c: Likewise.
6406         * lib/regex_internal.h: Likewise.
6407         * lib/stpncpy.c: Likewise.
6408         * lib/strcasecmp.c: Likewise.
6409         * lib/strchrnul.c: Likewise.
6410         * lib/strdup.c: Likewise.
6411         * lib/striconv.c: Likewise.
6412         * lib/striconveh.c: Likewise.
6413         * lib/striconveha.c: Likewise.
6414         * lib/strncasecmp.c: Likewise.
6415         * lib/strndup.c: Likewise.
6416         * lib/strnlen.c: Likewise.
6417         * lib/strsep.c: Likewise.
6418         * lib/strstr.c: Likewise.
6419         * lib/strtok_r.c: Likewise.
6420         * lib/userspec.c: Likewise.
6421         * lib/w32spawn.h: Likewise.
6422         * lib/xstrndup.c: Likewise.
6423         * lib/mountlist.c (strstr): Remove decl.
6424         * m4/string_h.m4: New file.
6425         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
6426         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
6427         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
6428         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
6429         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
6430         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
6431         Set REPLACE_STRCASECMP if necessary.
6432         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
6433         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
6434         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
6435         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
6436         HAVE_DECL_STRDUP if necessary.
6437         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
6438         since gl_FUNC_STRNDUP does that now.
6439         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
6440         Check for decl here...
6441         (gl_PREREQ_STRNLEN): ... not here.
6442         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
6443         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
6444         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
6445         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
6446         necessary.
6447         * modules/string: New file.
6448         * modules/memmem (Files): Remove special-purpose include file.
6449         (Depends-on): Add string.
6450         (Include): Include <string.h>, not the removed file.
6451         * modules/mempcpy: Likewise.
6452         * modules/memrchr: Likewise.
6453         * modules/stpcpy: Likewise.
6454         * modules/stpncpy: Likewise.
6455         * modules/strcase: Likewise.
6456         * modules/strchrnul: Likewise.
6457         * modules/strdup: Likewise.
6458         * modules/strndup: Likewise.
6459         * modules/strnlen: Likewise.
6460         * modules/strpbrk: Likewise.
6461         * modules/strsep: Likewise.
6462         * modules/strstr: Likewise.
6463         * modules/strtok_r: Likewise.
6464         * tests/test-dirname.c: Don't include "strdup.h", since
6465         <string.h> now suffices.
6466         * tests/test-memmem.c: Don't include "memmem.h", since
6467         <string.h> now suffices.
6468
6469 2007-01-25  Bruno Haible  <bruno@clisp.org>
6470
6471         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
6472         *resultp is 0.
6473
6474         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
6475         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
6476         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
6477         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
6478
6479         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
6480         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
6481         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
6482         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
6483         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
6484         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
6485
6486 2007-01-24  Bruno Haible  <bruno@clisp.org>
6487
6488         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
6489         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
6490         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
6491         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
6492         gl_FUNC_FTS_CORE.
6493         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
6494         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
6495         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
6496         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
6497         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
6498         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
6499         gl_FUNC_FCHOWNAT.
6500         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
6501         gl_FUNC_STRFTIME.
6502         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
6503         Reported by Ralf Wildenhues.
6504
6505 2007-01-24  Bruno Haible  <bruno@clisp.org>
6506
6507         Drop AC_REQUIRE calls that are redundant with the module dependencies.
6508         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
6509         gl_GETADDRINFO.
6510         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
6511         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
6512         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
6513
6514 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
6515
6516         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
6517         Don't use 'exit'; just return from 'main'.
6518         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
6519
6520         * lib/fnmatch_.h: Readjust white space and comments to match
6521         glibc, to avoid spurious diffs.
6522
6523 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
6524
6525         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
6526         2004-12-01 change by Jakub Jelinek, since this code won't compile
6527         if !LIBC.  Problem reported by Bob Proulx.
6528
6529 2007-01-23  Bruno Haible  <bruno@clisp.org>
6530
6531         * lib/striconveh.c: Include c-strcaseeq.h.
6532         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
6533         * modules/striconveh (Depends-on): Add c-strcaseeq.
6534
6535 2007-01-23  Bruno Haible  <bruno@clisp.org>
6536
6537         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
6538
6539         * modules/c-strcaseeq: New file.
6540         * lib/c-strcaseeq.h: New file.
6541
6542         * modules/streq: New file.
6543         * lib/streq.h: New file.
6544
6545 2007-01-23  Bruno Haible  <bruno@clisp.org>
6546
6547         * modules/striconveha-tests: New file.
6548         * tests/test-striconveha.c: New file.
6549
6550         * lib/striconveha.h: Include <stdbool.h>.
6551         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
6552         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
6553         (mem_iconveha_notranslit): Renamed from mem_iconveha.
6554         (mem_iconveha): New function.
6555         (str_iconveha_notranslit): Renamed from str_iconveha.
6556         (str_iconveha): New function.
6557         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
6558         c-strcase.
6559
6560 2007-01-23  Bruno Haible  <bruno@clisp.org>
6561
6562         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
6563         encodings without forgiving before trying any encoding with handler.
6564         (str_iconveha): Try all encodings without forgiving before trying any
6565         encoding with handler.
6566
6567 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
6568
6569         Import the following changes from libc.
6570
6571         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
6572
6573         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
6574
6575         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
6576
6577         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
6578         normal_bracket label.
6579
6580         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
6581
6582         [BZ #361]
6583         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
6584         to normal_bracket after fetching the next character.
6585
6586 2007-01-22  Bruno Haible  <bruno@clisp.org>
6587
6588         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
6589         argument.
6590         * lib/striconveh.c (iconv_carefully_1): New function.
6591         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
6592         argument.
6593         (str_cd_iconveh): Update.
6594         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
6595         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
6596         * tests/test-striconveh.c (MAGIC): New macro.
6597         (new_offsets): New function.
6598         (main): Test call with and without offsets.
6599
6600 2007-01-22  Bruno Haible  <bruno@clisp.org>
6601
6602         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
6603         * modules/sys_select (Makefile.am): Likewise.
6604         * modules/sys_socket (Makefile.am): Likewise.
6605         * modules/sys_time (Makefile.am): Likewise.
6606
6607 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
6608
6609         * modules/gettimeofday (License): Change from GPL to LGPL, since
6610         gettimeofday is a library function.
6611
6612 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
6613
6614         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
6615
6616 2007-01-21  Bruno Haible  <bruno@clisp.org>
6617
6618         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
6619
6620 2007-01-21  Bruno Haible  <bruno@clisp.org>
6621
6622         * modules/striconveha: New file.
6623         * lib/striconveha.h: New file.
6624         * lib/striconveha.c: New file.
6625         * MODULES.html.sh (Internationalization functions): Add striconveha.
6626         * lib/striconv.c (str_iconv): Optimize the case of an empty input
6627         string.
6628         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
6629
6630 2007-01-21  Bruno Haible  <bruno@clisp.org>
6631
6632         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
6633         * lib/striconveh.c (str_iconveh): Likewise.
6634
6635 2007-01-21  Bruno Haible  <bruno@clisp.org>
6636
6637         * lib/striconveh.h (mem_iconveh): New declaration.
6638         * lib/striconveh.c (mem_iconveh): New function.
6639         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
6640
6641 2007-01-21  Bruno Haible  <bruno@clisp.org>
6642
6643         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
6644
6645         * lib/striconveh.h (mem_cd_iconveh): Change specification.
6646         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
6647         original result buffer.
6648         (str_cd_iconveh): Update.
6649         * tests/test-striconveh.c (main): Update.
6650
6651         * lib/striconv.h (mem_cd_iconv): Change specification.
6652         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
6653         result buffer.
6654         (str_cd_iconv): Update.
6655         * tests/test-striconv.c (main): Update.
6656
6657 2007-01-21  Bruno Haible  <bruno@clisp.org>
6658
6659         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
6660
6661 2007-01-20  Jim Meyering  <jim@meyering.net>
6662
6663         * lib/userspec.c (parse_with_separator): If a user or group string
6664         starts with "+", skip the corresponding name-to-ID look-up, since
6665         such a look-up must fail: user and group names may not include "+".
6666
6667 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
6668
6669         * lib/poll.c: Include sys/time.h and time.h unconditionally,
6670         since we now assume the sys_time module.
6671         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
6672         check for sys/time.h; no longer needed.
6673         * modules/poll (Depends-on): Depend on sys_time.
6674
6675 2007-01-18  Bruno Haible  <bruno@clisp.org>
6676
6677         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
6678         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
6679
6680         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
6681         gettimeofday.
6682
6683         * tests/test-gettimeofday.c: Include <time.h>.
6684         (dummy): Remove variable.
6685
6686         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
6687         gl_HEADER_SYS_TIME_H.
6688         (gl_HEADER_SYS_TIME_H): New macro.
6689
6690         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
6691         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
6692         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
6693         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
6694         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
6695         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
6696         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
6697         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
6698         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
6699         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
6700         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
6701
6702         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
6703         last change; it caused a compilation error when cross-compiling to
6704         Cygwin.
6705
6706 2007-01-18  Jim Meyering  <jim@meyering.net>
6707
6708         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
6709         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
6710         than the race-prone "test -d sys || mkdir sys".
6711         (configure.ac): Use AC_PROG_MKDIR_P.
6712         * modules/sys_select: Likewise.
6713         * modules/sys_socket: Likewise.
6714         * modules/sys_time: Likewise.
6715
6716 2007-01-18  Eric Blake  <ebb9@byu.net>
6717
6718         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
6719         replace gettimeofday.
6720         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
6721         name, to avoid infinite recursion.
6722
6723 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
6724
6725         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
6726         module sys_time.
6727         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
6728         assume timespec.h defines struct timeval.
6729         * lib/settime.c: Likewise.
6730         * lib/utimens.c: Likewise.
6731         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
6732         since we now assume the gettimeofday module.
6733         * lib/tempname.c (__gen_tempname): Likewise.
6734         * lib/gettimeofday.h: Remove.
6735         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
6736         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
6737         Include <time.h>, for 'time()'.
6738         (localtime_buffer_addr): Also use this workaround if
6739         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
6740         to simplify the uses.  All uses changed.
6741         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
6742         that #undef is inside {}, and 'const' follows type name consistently.
6743         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
6744         (gettimeofday): Do not use the maximum possible value for
6745         tv->tv_usec, since that might break usages other than ls.c.
6746         Instead, we'll leave ls.c alone.  This undoes today's patch
6747         by Bruno.  Add a compile-time warning for 1s-clock resolution;
6748         we've never observed the problem but might as well keep the
6749         canary.
6750         * lib/nanosleep.c: Include timespec.h first, for interface check.
6751         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
6752         now assume the sys_time module.
6753         * lib/tempname.c: Likewise.
6754         * lib/timespec.h: Likewise.
6755         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
6756         needed.
6757         * lib/strftime.c: Likewise.
6758         * lib/timespec.h: Likewise.
6759         * lib/posixtm.c: Include posixtm.h first, for interface check.
6760         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
6761         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
6762         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
6763         * lib/sys_time_.h: New file.
6764         * lib/timespec.h (struct timespec): Use long int, not long.
6765         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
6766         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
6767         Remove obsolescent call to AC_HEADER_TIME.
6768         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
6769         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6770         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
6771         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
6772         Likewise.
6773         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
6774         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
6775         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
6776         into the sys_time module.  Check for gettimeofday just once.
6777         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
6778         for gettimeofday signature to just check the signature.  Merely
6779         compile it, since linking doesn't test signature.  Improve test for
6780         whether gettimeofday.o is actually needed.
6781         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
6782         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
6783         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
6784         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
6785         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
6786         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
6787         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
6788         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
6789         than worrying about sys/time.h.
6790         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
6791         Don't bother worrying about TIME_WITH_SYS_TIME.
6792         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
6793         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
6794         * m4/sys_time_h.m4: New file.
6795         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
6796         Don't include sys/time.h.  Return from main rather than exiting.
6797         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
6798         all uses changed.
6799         * modules/gethrxtime (Depends-on): Add sys_time.
6800         * modules/gettime (Depends-on): Likewise.
6801         * modules/gettimeofday (Depends-on): Likewise.
6802         * modules/nanosleep (Depends-on): Likewise.
6803         * modules/settime (Depends-on): Likewise.
6804         * modules/tempname (Depends-on): Likewise.
6805         * modules/utimens (Depends-on): Likewise.
6806         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
6807         (Include:) Change back to <sys/time.h>.
6808         (Maintainer:) Add self.
6809         * modules/sys_time: New file.
6810         * modules/tempname (Depends-on): Add gettimeofday.
6811         * tests/test-gettimeofday.c: Include <sys/time.h>
6812         rather than gettimeofday.h.
6813
6814 2007-01-17  Bruno Haible  <bruno@clisp.org>
6815
6816         * gnulib-tool (func_get_license): Revert last patch. Instead, let
6817         the license default to GPL.
6818         (func_create_testdir): Don't complain if a module is LGPL and its
6819         tests module depends on GPLed modules.
6820
6821 2007-01-17  Bruno Haible  <bruno@clisp.org>
6822
6823         * lib/gettimeofday.c (gettimeofday): Add code for the case
6824         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
6825         maximum possible value for tv->tv_usec, rather than the minimum one.
6826
6827 2005-10-08  Martin Lambers  <marlam@marlam.de>
6828 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
6829 2007-01-16  Bruno Haible  <bruno@clisp.org>
6830
6831         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
6832         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
6833         gl_FUNC_GETTIMEOFDAY.
6834         (Include): Add gettimeofday.h.
6835         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
6836         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
6837         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
6838         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
6839         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
6840         * lib/gettimeofday.h: New file.
6841         * lib/gettimeofday.c: Include <sys/timeb.h>.
6842         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
6843         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
6844         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
6845         fall back on time().
6846
6847         * tests/test-gettimeofday.c: New file.
6848         * modules/gettimeofday-tests: New file.
6849
6850 2007-01-16  Eric Blake  <ebb9@byu.net>
6851
6852         * modules/fnmatch (Depends-on): Depend on wchar.
6853         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
6854         * m4/fnmatch.m4: Likewise.
6855         * modules/mbchar (Makefile.am): Assume <wchar.h>.
6856         * m4/mbchar.m4: Likewise.
6857         * modules/mbswidth (Depends-on): Depend on wchar.
6858         * lib/mbswidth.c: Assume <wchar.h>.
6859         * m4/mbswidth.m4: Likewise.
6860         * modules/quotearg (Depends-on): Depend on wchar.
6861         * lib/quotearg.c: Assume <wchar.h>.
6862         * m4/quotearg.m4: Likewise.
6863         * modules/regex (Depends-on): Depend on wchar.
6864         * lib/regex_internal.h: Assume <wchar.h>.
6865         * m4/regex.m4: Likewise.
6866         * modules/stdint (Depends-on): Depend on wchar.
6867         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
6868         * m4/stdint.m4: Likewise.
6869         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
6870         * modules/strftime (Depends-on): Depend on wchar.
6871         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
6872         * modules/strtol (Depends-on): Depend on wchar.
6873         * lib/strtol.c: Assume <wchar.h>.
6874         * modules/wcwidth (Depends-on): Depend on wchar.
6875         * lib/wcwidth.h: Assume <wchar.h>.
6876         * m4/wcwidth.m4: Likewise.
6877
6878 2007-01-16  Bruno Haible  <bruno@clisp.org>
6879
6880         * modules/csharpexec-script: New, created from...
6881         * modules/csharpexec: ... this.
6882
6883 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
6884
6885         * modules/javaexec-script: New, created from...
6886         * modules/javaexec: ... this.
6887
6888 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
6889
6890         * modules/poll (Dependencies): Add sys_select.
6891
6892 2007-01-15  Jim Meyering  <jim@meyering.net>
6893
6894         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
6895         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
6896         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
6897         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
6898
6899 2007-01-15  Bruno Haible  <bruno@clisp.org>
6900
6901         * modules/striconveh: New file.
6902         * lib/striconveh.h: New file.
6903         * lib/striconveh.c: New file.
6904         * MODULES.html.sh (Internationalization functions): Add striconveh.
6905
6906         * modules/striconveh-tests: New file.
6907         * tests/test-striconveh.c: New file.
6908
6909 2007-01-15  Bruno Haible  <bruno@clisp.org>
6910
6911         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
6912         not from GNU libiconv or GNU libc.
6913
6914 2007-01-15  Bruno Haible  <bruno@clisp.org>
6915
6916         * doc/gnulib-intro.texi (Copyright): Explain the different license
6917         terms for module descriptions, autoconf macros, tests, documentation.
6918
6919 2007-01-14  Bruno Haible  <bruno@clisp.org>
6920
6921         * modules/striconv-tests: New file.
6922         * tests/test-striconv.c: New file.
6923
6924 2007-01-14  Bruno Haible  <bruno@clisp.org>
6925
6926         * modules/iconv-tests: New file.
6927         * tests/test-iconv.c: New file.
6928
6929 2007-01-14  Bruno Haible  <bruno@clisp.org>
6930
6931         * gnulib-tool (func_get_license): For test modules, use the license of
6932         the main module.
6933
6934 2007-01-14  Bruno Haible  <bruno@clisp.org>
6935
6936         * modules/iconv (Include): Clarify that <iconv.h> can only be included
6937         if iconv is found to exist.
6938
6939 2007-01-14  Bruno Haible  <bruno@clisp.org>
6940
6941         * modules/c-ctype-tests: New file.
6942         * tests/test-c-ctype.c: New file.
6943
6944 2007-01-14  Bruno Haible  <bruno@clisp.org>
6945
6946         * modules/binary-io-tests: New file.
6947         * tests/test-binary-io.sh: New file.
6948         * tests/test-binary-io.c: New file.
6949
6950 2007-01-14  Bruno Haible  <bruno@clisp.org>
6951
6952         * modules/array-oset-tests: New file.
6953         * tests/test-array_oset.c: New file.
6954
6955 2007-01-14  Bruno Haible  <bruno@clisp.org>
6956
6957         * modules/array-list-tests: New file.
6958         * tests/test-array_list.c: New file.
6959
6960 2007-01-14  Bruno Haible  <bruno@clisp.org>
6961
6962         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
6963         and make.
6964         Reported by Simon Josefsson in
6965         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
6966
6967 2007-01-14  Bruno Haible  <bruno@clisp.org>
6968
6969         * modules/allocsa-tests: New file.
6970         * tests/test-allocsa.c: New file.
6971
6972 2007-01-14  Bruno Haible  <bruno@clisp.org>
6973
6974         * modules/fchdir (Depends-on): Add absolute-header.
6975         * modules/unistd (Depends-on): Likewise.
6976
6977 2006-12-30  Bruno Haible  <bruno@clisp.org>
6978
6979         * modules/fchdir: New file.
6980         * modules/unistd (Files): Add lib/unistd_.h.
6981         (Makefile.am): Generate unistd.h from unistd_.h.
6982         * lib/fchdir.c: New file.
6983         * lib/dirent_.h: New file.
6984         * lib/unistd_.h: New file.
6985         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
6986         * m4/fchdir.m4: New file.
6987         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
6988         (gl_HEADER_UNISTD): Invoke it.
6989         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
6990         function.
6991         * lib/backupfile.c (opendir, closedir): Undefine.
6992         * lib/chown.c (open, close): Undefine.
6993         * lib/clean-temp.c (open, close): Undefine.
6994         * lib/copy-file.c (open, close): Undefine.
6995         * lib/execute.c (open, close): Undefine.
6996         * lib/fsusage.c (open, close): Undefine.
6997         * lib/gc-gnulib.c (open, close): Undefine.
6998         * lib/getcwd.c (opendir, closedir): Undefine.
6999         * lib/glob.c (opendir, closedir): Undefine.
7000         * lib/javacomp.c (open, close): Undefine.
7001         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
7002         * lib/openat-proc.c (open, close): Undefine.
7003         * lib/pagealign_alloc.c (open, close): Undefine.
7004         * lib/pipe.c (open, close): Undefine.
7005         * lib/progreloc.c (open, close): Undefine.
7006         * lib/savedir.c (opendir, closedir): Undefine.
7007         * lib/utime.c (open, close): Undefine.
7008         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
7009
7010 2007-01-10  Bruno Haible  <bruno@clisp.org>
7011
7012         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
7013
7014 2007-01-12  Eric Blake  <ebb9@byu.net>
7015
7016         Provide a robust <wchar.h>.  Further simplifications are now
7017         possible in other modules, but not included here.
7018         * modules/wchar: New module.
7019         * m4/wchar.m4: New file.
7020         * lib/wchar_.h: Likewise.
7021         * modules/mbchar (Depends-on): Depend on wchar, as the first use
7022         of the new module.
7023         * MODULES.html.sh (Extended multibyte and wide character utilities):
7024         New section.
7025
7026 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
7027
7028         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
7029         to a reasonable default for memory allocation.
7030         (xreadlink): Don't allocate a huge buffer, to work around a buggy
7031         file system that reports garbage st_size values for symlinks.
7032         Problem reported by Liyang Hu.
7033
7034 2007-01-11  Simon Josefsson  <simon@josefsson.org>
7035
7036         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
7037         Emacs .#* auto-save files).
7038
7039 2007-01-11  Bruno Haible  <bruno@clisp.org>
7040
7041         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
7042         directory.
7043
7044 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
7045
7046         Use @...@ consistently in lib/wctype_.h.
7047         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
7048         on it being set to 1 or 0.
7049         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
7050         go back to AC_SUBSTing it.
7051         * modules/wctype (Makefile.am): Undo previous change.
7052
7053 2007-01-10  Eric Blake  <ebb9@byu.net>
7054
7055         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
7056         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
7057         * modules/wctype (Makefile.am): Likewise.
7058         Reported by Chris McGuire.
7059
7060 2007-01-10  Jim Meyering  <jim@meyering.net>
7061
7062         fts.c: a small readability/maintainability improvement
7063         * lib/fts.c (fts_read): Make this code slightly more readable and
7064         maintainable by hoisting the "sp->fts_cur = p" assignments to
7065         immediately follow the statements that set P.  Derived from
7066         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
7067
7068 2007-01-10  Eric Blake  <ebb9@byu.net>
7069
7070         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
7071         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
7072         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
7073         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
7074         Reported by Chris McGuire.
7075
7076 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7077
7078         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
7079         in sed script.
7080
7081 2007-01-09  Bruno Haible  <bruno@clisp.org>
7082
7083         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
7084         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
7085         variables.
7086         (func_module): Use them.
7087
7088 2007-01-09  Bruno Haible  <bruno@clisp.org>
7089
7090         * modules/unistr/base: New file.
7091         * lib/unistr.h: New file.
7092
7093         * modules/unistr/u8-to-u16: New file.
7094         * lib/unistr/u8-to-u16.c: New file.
7095
7096         * modules/unistr/u8-to-u32: New file.
7097         * lib/unistr/u8-to-u32.c: New file.
7098
7099         * modules/unistr/u16-to-u8: New file.
7100         * lib/unistr/u16-to-u8.c: New file.
7101
7102         * modules/unistr/u16-to-u32: New file.
7103         * lib/unistr/u16-to-u32.c: New file.
7104
7105         * modules/unistr/u32-to-u8: New file.
7106         * lib/unistr/u32-to-u8.c: New file.
7107
7108         * modules/unistr/u32-to-u16: New file.
7109         * lib/unistr/u32-to-u16.c: New file.
7110
7111         * modules/unistr/u8-check: New file.
7112         * modules/unistr/u16-check: New file.
7113         * modules/unistr/u32-check: New file.
7114         * lib/unistr/u8-check.c: New file.
7115         * lib/unistr/u16-check.c: New file.
7116         * lib/unistr/u32-check.c: New file.
7117
7118         * modules/unistr/u8-chr: New file.
7119         * modules/unistr/u16-chr: New file.
7120         * modules/unistr/u32-chr: New file.
7121         * lib/unistr/u8-chr.c: New file.
7122         * lib/unistr/u16-chr.c: New file.
7123         * lib/unistr/u32-chr.c: New file.
7124
7125         * modules/unistr/u8-cmp: New file.
7126         * modules/unistr/u16-cmp: New file.
7127         * modules/unistr/u32-cmp: New file.
7128         * lib/unistr/u8-cmp.c: New file.
7129         * lib/unistr/u16-cmp.c: New file.
7130         * lib/unistr/u32-cmp.c: New file.
7131
7132         * modules/unistr/u8-cpy: New file.
7133         * modules/unistr/u16-cpy: New file.
7134         * modules/unistr/u32-cpy: New file.
7135         * lib/unistr/u8-cpy.c: New file.
7136         * lib/unistr/u16-cpy.c: New file.
7137         * lib/unistr/u32-cpy.c: New file.
7138         * lib/unistr/u-cpy.h: New file.
7139
7140         * modules/unistr/u8-cpy-alloc: New file.
7141         * modules/unistr/u16-cpy-alloc: New file.
7142         * modules/unistr/u32-cpy-alloc: New file.
7143         * lib/unistr/u8-cpy-alloc.c: New file.
7144         * lib/unistr/u16-cpy-alloc.c: New file.
7145         * lib/unistr/u32-cpy-alloc.c: New file.
7146         * lib/unistr/u-cpy-alloc.h: New file.
7147
7148         * modules/unistr/u8-endswith: New file.
7149         * modules/unistr/u16-endswith: New file.
7150         * modules/unistr/u32-endswith: New file.
7151         * lib/unistr/u8-endswith.c: New file.
7152         * lib/unistr/u16-endswith.c: New file.
7153         * lib/unistr/u32-endswith.c: New file.
7154         * lib/unistr/u-endswith.h: New file.
7155
7156         * modules/unistr/u8-mblen: New file.
7157         * modules/unistr/u16-mblen: New file.
7158         * modules/unistr/u32-mblen: New file.
7159         * lib/unistr/u8-mblen.c: New file.
7160         * lib/unistr/u16-mblen.c: New file.
7161         * lib/unistr/u32-mblen.c: New file.
7162
7163         * modules/unistr/u8-mbtouc: New file.
7164         * modules/unistr/u16-mbtouc: New file.
7165         * modules/unistr/u32-mbtouc: New file.
7166         * lib/unistr/u8-mbtouc.c: New file.
7167         * lib/unistr/u16-mbtouc.c: New file.
7168         * lib/unistr/u32-mbtouc.c: New file.
7169
7170         * modules/unistr/u8-mbtouc-safe: New file.
7171         * modules/unistr/u16-mbtouc-safe: New file.
7172         * modules/unistr/u32-mbtouc-safe: New file.
7173         * lib/unistr/u8-mbtouc-safe.c: New file.
7174         * lib/unistr/u16-mbtouc-safe.c: New file.
7175         * lib/unistr/u32-mbtouc-safe.c: New file.
7176
7177         * modules/unistr/u8-move: New file.
7178         * modules/unistr/u16-move: New file.
7179         * modules/unistr/u32-move: New file.
7180         * lib/unistr/u8-move.c: New file.
7181         * lib/unistr/u16-move.c: New file.
7182         * lib/unistr/u32-move.c: New file.
7183         * lib/unistr/u-move.h: New file.
7184
7185         * modules/unistr/u8-next: New file.
7186         * modules/unistr/u16-next: New file.
7187         * modules/unistr/u32-next: New file.
7188         * lib/unistr/u8-next.c: New file.
7189         * lib/unistr/u16-next.c: New file.
7190         * lib/unistr/u32-next.c: New file.
7191
7192         * modules/unistr/u8-prev: New file.
7193         * modules/unistr/u16-prev: New file.
7194         * modules/unistr/u32-prev: New file.
7195         * lib/unistr/u8-prev.c: New file.
7196         * lib/unistr/u16-prev.c: New file.
7197         * lib/unistr/u32-prev.c: New file.
7198
7199         * modules/unistr/u8-set: New file.
7200         * modules/unistr/u16-set: New file.
7201         * modules/unistr/u32-set: New file.
7202         * lib/unistr/u8-set.c: New file.
7203         * lib/unistr/u16-set.c: New file.
7204         * lib/unistr/u32-set.c: New file.
7205         * lib/unistr/u-set.h: New file.
7206
7207         * modules/unistr/u8-startswith: New file.
7208         * modules/unistr/u16-startswith: New file.
7209         * modules/unistr/u32-startswith: New file.
7210         * lib/unistr/u8-startswith.c: New file.
7211         * lib/unistr/u16-startswith.c: New file.
7212         * lib/unistr/u32-startswith.c: New file.
7213         * lib/unistr/u-startswith.h: New file.
7214
7215         * modules/unistr/u8-stpcpy: New file.
7216         * modules/unistr/u16-stpcpy: New file.
7217         * modules/unistr/u32-stpcpy: New file.
7218         * lib/unistr/u8-stpcpy.c: New file.
7219         * lib/unistr/u16-stpcpy.c: New file.
7220         * lib/unistr/u32-stpcpy.c: New file.
7221         * lib/unistr/u-stpcpy.h: New file.
7222
7223         * modules/unistr/u8-stpncpy: New file.
7224         * modules/unistr/u16-stpncpy: New file.
7225         * modules/unistr/u32-stpncpy: New file.
7226         * lib/unistr/u8-stpncpy.c: New file.
7227         * lib/unistr/u16-stpncpy.c: New file.
7228         * lib/unistr/u32-stpncpy.c: New file.
7229         * lib/unistr/u-stpncpy.h: New file.
7230
7231         * modules/unistr/u8-strcat: New file.
7232         * modules/unistr/u16-strcat: New file.
7233         * modules/unistr/u32-strcat: New file.
7234         * lib/unistr/u8-strcat.c: New file.
7235         * lib/unistr/u16-strcat.c: New file.
7236         * lib/unistr/u32-strcat.c: New file.
7237         * lib/unistr/u-strcat.h: New file.
7238
7239         * modules/unistr/u8-strchr: New file.
7240         * modules/unistr/u16-strchr: New file.
7241         * modules/unistr/u32-strchr: New file.
7242         * lib/unistr/u8-strchr.c: New file.
7243         * lib/unistr/u16-strchr.c: New file.
7244         * lib/unistr/u32-strchr.c: New file.
7245
7246         * modules/unistr/u8-strcmp: New file.
7247         * modules/unistr/u16-strcmp: New file.
7248         * modules/unistr/u32-strcmp: New file.
7249         * lib/unistr/u8-strcmp.c: New file.
7250         * lib/unistr/u16-strcmp.c: New file.
7251         * lib/unistr/u32-strcmp.c: New file.
7252
7253         * modules/unistr/u8-strcpy: New file.
7254         * modules/unistr/u16-strcpy: New file.
7255         * modules/unistr/u32-strcpy: New file.
7256         * lib/unistr/u8-strcpy.c: New file.
7257         * lib/unistr/u16-strcpy.c: New file.
7258         * lib/unistr/u32-strcpy.c: New file.
7259         * lib/unistr/u-strcpy.h: New file.
7260
7261         * modules/unistr/u8-strcspn: New file.
7262         * modules/unistr/u16-strcspn: New file.
7263         * modules/unistr/u32-strcspn: New file.
7264         * lib/unistr/u8-strcspn.c: New file.
7265         * lib/unistr/u16-strcspn.c: New file.
7266         * lib/unistr/u32-strcspn.c: New file.
7267         * lib/unistr/u-strcspn.h: New file.
7268
7269         * modules/unistr/u8-strdup: New file.
7270         * modules/unistr/u16-strdup: New file.
7271         * modules/unistr/u32-strdup: New file.
7272         * lib/unistr/u8-strdup.c: New file.
7273         * lib/unistr/u16-strdup.c: New file.
7274         * lib/unistr/u32-strdup.c: New file.
7275         * lib/unistr/u-strdup.h: New file.
7276
7277         * modules/unistr/u8-strlen: New file.
7278         * modules/unistr/u16-strlen: New file.
7279         * modules/unistr/u32-strlen: New file.
7280         * lib/unistr/u8-strlen.c: New file.
7281         * lib/unistr/u16-strlen.c: New file.
7282         * lib/unistr/u32-strlen.c: New file.
7283         * lib/unistr/u-strlen.h: New file.
7284
7285         * modules/unistr/u8-strmblen: New file.
7286         * modules/unistr/u16-strmblen: New file.
7287         * modules/unistr/u32-strmblen: New file.
7288         * lib/unistr/u8-strmblen.c: New file.
7289         * lib/unistr/u16-strmblen.c: New file.
7290         * lib/unistr/u32-strmblen.c: New file.
7291
7292         * modules/unistr/u8-strmbtouc: New file.
7293         * modules/unistr/u16-strmbtouc: New file.
7294         * modules/unistr/u32-strmbtouc: New file.
7295         * lib/unistr/u8-strmbtouc.c: New file.
7296         * lib/unistr/u16-strmbtouc.c: New file.
7297         * lib/unistr/u32-strmbtouc.c: New file.
7298
7299         * modules/unistr/u8-strncat: New file.
7300         * modules/unistr/u16-strncat: New file.
7301         * modules/unistr/u32-strncat: New file.
7302         * lib/unistr/u8-strncat.c: New file.
7303         * lib/unistr/u16-strncat.c: New file.
7304         * lib/unistr/u32-strncat.c: New file.
7305         * lib/unistr/u-strncat.h: New file.
7306
7307         * modules/unistr/u8-strncmp: New file.
7308         * modules/unistr/u16-strncmp: New file.
7309         * modules/unistr/u32-strncmp: New file.
7310         * lib/unistr/u8-strncmp.c: New file.
7311         * lib/unistr/u16-strncmp.c: New file.
7312         * lib/unistr/u32-strncmp.c: New file.
7313
7314         * modules/unistr/u8-strncpy: New file.
7315         * modules/unistr/u16-strncpy: New file.
7316         * modules/unistr/u32-strncpy: New file.
7317         * lib/unistr/u8-strncpy.c: New file.
7318         * lib/unistr/u16-strncpy.c: New file.
7319         * lib/unistr/u32-strncpy.c: New file.
7320         * lib/unistr/u-strncpy.h: New file.
7321
7322         * modules/unistr/u8-strnlen: New file.
7323         * modules/unistr/u16-strnlen: New file.
7324         * modules/unistr/u32-strnlen: New file.
7325         * lib/unistr/u8-strnlen.c: New file.
7326         * lib/unistr/u16-strnlen.c: New file.
7327         * lib/unistr/u32-strnlen.c: New file.
7328         * lib/unistr/u-strnlen.h: New file.
7329
7330         * modules/unistr/u8-strpbrk: New file.
7331         * modules/unistr/u16-strpbrk: New file.
7332         * modules/unistr/u32-strpbrk: New file.
7333         * lib/unistr/u8-strpbrk.c: New file.
7334         * lib/unistr/u16-strpbrk.c: New file.
7335         * lib/unistr/u32-strpbrk.c: New file.
7336         * lib/unistr/u-strpbrk.h: New file.
7337
7338         * modules/unistr/u8-strrchr: New file.
7339         * modules/unistr/u16-strrchr: New file.
7340         * modules/unistr/u32-strrchr: New file.
7341         * lib/unistr/u8-strrchr.c: New file.
7342         * lib/unistr/u16-strrchr.c: New file.
7343         * lib/unistr/u32-strrchr.c: New file.
7344
7345         * modules/unistr/u8-strspn: New file.
7346         * modules/unistr/u16-strspn: New file.
7347         * modules/unistr/u32-strspn: New file.
7348         * lib/unistr/u8-strspn.c: New file.
7349         * lib/unistr/u16-strspn.c: New file.
7350         * lib/unistr/u32-strspn.c: New file.
7351         * lib/unistr/u-strspn.h: New file.
7352
7353         * modules/unistr/u8-strstr: New file.
7354         * modules/unistr/u16-strstr: New file.
7355         * modules/unistr/u32-strstr: New file.
7356         * lib/unistr/u8-strstr.c: New file.
7357         * lib/unistr/u16-strstr.c: New file.
7358         * lib/unistr/u32-strstr.c: New file.
7359         * lib/unistr/u-strstr.h: New file.
7360
7361         * modules/unistr/u8-strtok: New file.
7362         * modules/unistr/u16-strtok: New file.
7363         * modules/unistr/u32-strtok: New file.
7364         * lib/unistr/u8-strtok.c: New file.
7365         * lib/unistr/u16-strtok.c: New file.
7366         * lib/unistr/u32-strtok.c: New file.
7367         * lib/unistr/u-strtok.h: New file.
7368
7369         * modules/unistr/u8-uctomb: New file.
7370         * modules/unistr/u16-uctomb: New file.
7371         * modules/unistr/u32-uctomb: New file.
7372         * lib/unistr/u8-uctomb.c: New file.
7373         * lib/unistr/u16-uctomb.c: New file.
7374         * lib/unistr/u32-uctomb.c: New file.
7375
7376         * MODULES.html.sh (Unicode string functions): Add the new modules.
7377
7378 2007-01-08  Bruno Haible  <bruno@clisp.org>
7379
7380         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
7381         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
7382         subdirectories.
7383
7384 2007-01-08  Karl Berry  <karl@gnu.org>
7385
7386         * doc/error.texi: mention that main() fns must set program_name
7387         when progname is used.
7388
7389 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
7390
7391         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
7392         WCTYPE_H is empty, for the benefit of builds from non-distclean
7393         directories.  Problem reported by Eric Blake in
7394         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
7395
7396 2007-01-08  Bruno Haible  <bruno@clisp.org>
7397
7398         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
7399         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
7400         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
7401         PROVIDE_CANONICALIZE_FILENAME_MODE.
7402         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
7403
7404 2007-01-08  Bruno Haible  <bruno@clisp.org>
7405
7406         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
7407         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
7408         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
7409         * lib/fts.c: Likewise.
7410         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
7411
7412 2006-12-25  Bruno Haible  <bruno@clisp.org>
7413
7414         * modules/utf8-ucs4-safe: New file.
7415         * lib/utf8-ucs4-safe.h: New file.
7416         * lib/unistr/utf8-ucs4-safe.c: New file.
7417
7418         * modules/utf16-ucs4-safe: New file.
7419         * lib/utf16-ucs4-safe.h: New file.
7420         * lib/unistr/utf16-ucs4-safe.c: New file.
7421
7422         * MODULES.html.sh (Unicode string functions): Add the new modules.
7423
7424 2007-01-08  Bruno Haible  <bruno@clisp.org>
7425
7426         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
7427         (Depends-on): Add unitypes.
7428         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
7429         (u8_mbtouc_aux): Move out to separate file.
7430         (u8_mbtouc): Use ucs4_t, uint8_t types.
7431         * lib/unistr/utf8-ucs4.c: New file.
7432
7433         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
7434         (Depends-on): Add unitypes.
7435         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
7436         (u16_mbtouc_aux): Move out to separate file.
7437         (u16_mbtouc): Use ucs4_t, uint16_t types.
7438         * lib/unistr/utf16-ucs4.c: New file.
7439
7440         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
7441         (Depends-on): Add unitypes.
7442         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
7443         (u8_uctomb_aux): Move out to separate file.
7444         (u8_uctomb): Use ucs4_t, uint8_t types.
7445         * lib/unistr/ucs4-utf8.c: New file.
7446
7447         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
7448         (Depends-on): Add unitypes.
7449         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
7450         (u16_uctomb_aux): Move out to separate file.
7451         (u16_uctomb): Use ucs4_t, uint16_t types.
7452         * lib/unistr/ucs4-utf16.c: New file.
7453
7454 2006-12-25  Bruno Haible  <bruno@clisp.org>
7455
7456         * modules/unitypes: New file.
7457         * lib/unitypes.h: New file.
7458         * MODULES.html.sh (func_all_modules): New section "Unicode string
7459         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
7460         this section. Add unitypes.
7461
7462 2007-01-08  Bruno Haible  <bruno@clisp.org>
7463
7464         Avoid variable names that conflict with those from libtool.
7465         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
7466         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
7467         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
7468         library_names_spec to acl_library_names_spec, hardcode_* to
7469         acl_hardcode_*.
7470         Reported by Ralf Wildenhues.
7471
7472 2007-01-08  Bruno Haible  <bruno@clisp.org>
7473
7474         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
7475         definition.
7476         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
7477         definition.
7478         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
7479         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
7480         definition.
7481         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
7482         definition.
7483         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
7484         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
7485         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
7486         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
7487         definition.
7488         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
7489         definition.
7490         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
7491         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
7492         GC_USE_<algorithm>.
7493         * lib/gc-libgcrypt.c: Likewise.
7494         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
7495         * modules/gc-arctwo (configure.ac): Likewise.
7496         * modules/gc-des (configure.ac): Likewise.
7497         * modules/gc-hmac-md5 (configure.ac): Likewise.
7498         * modules/gc-hmac-sha1 (configure.ac): Likewise.
7499         * modules/gc-md2 (configure.ac): Likewise.
7500         * modules/gc-md4 (configure.ac): Likewise.
7501         * modules/gc-md5 (configure.ac): Likewise.
7502         * modules/gc-random (configure.ac): Likewise.
7503         * modules/gc-rijndael (configure.ac): Likewise.
7504         * modules/gc-sha1 (configure.ac): Likewise.
7505
7506 2007-01-08  Bruno Haible  <bruno@clisp.org>
7507
7508         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
7509         macro definition.
7510         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
7511         definition.
7512         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
7513         definition.
7514         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
7515         * modules/fcntl-safer (configure.ac): Likewise.
7516         * modules/fopen-safer (configure.ac): Likewise.
7517         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
7518         GNULIB_FWRITEERROR macro definition.
7519
7520 2007-01-08  Bruno Haible  <bruno@clisp.org>
7521
7522         * m4/gnulib-common.m4: New file.
7523         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
7524         (func_get_filelist): Add m4/gnulib-common.m4.
7525
7526 2007-01-08  Bruno Haible  <bruno@clisp.org>
7527
7528         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
7529         command.
7530
7531 2007-01-08  Jim Meyering  <jim@meyering.net>
7532
7533         Use a more robust test for a "can't happen" condition.
7534         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
7535         narrowed the st_size value.  Presuming the "can't happen" condition
7536         is true, that narrowing could conceivably convert an invalid st_size
7537         value into a valid one.  Instead, use a change based on Matthew
7538         Woehlke's original patch.
7539
7540         Slight readability improvement: use an assert-like macro
7541         in place of literal "abort ()" uses.
7542         * lib/fts.c (fts_assert): Define.
7543         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
7544         Use this macro instead of a bare 'abort'.
7545
7546 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
7547
7548         Don't worry about using IRIX 5.3's wctype.h broken definitions;
7549         simply work around them.
7550         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
7551         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
7552         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
7553         declaring.
7554         Don't bother to define as macros, since the standard doesn't require it.
7555         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
7556         longer worry about IRIX 5.3.
7557         (HAVE_WCTYPE_CTMP_BUG): Remove.
7558
7559 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
7560
7561         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
7562         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
7563         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
7564         Problems reported by Georg Schwarz for IRIX 5.3.
7565
7566         * gnulib-tool (autoconf_minversion): Take the maximum version number
7567         found, not the minimum.  Problem reported by James Youngman.
7568
7569 2007-01-03  Karl Berry  <karl@gnu.org>
7570
7571         * doc/error.texi: new file, explaining interaction with progname.
7572         * doc/gnulib.texi: include it.  Update copyright.
7573
7574 2007-01-03  Simon Josefsson  <simon@josefsson.org>
7575
7576         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
7577         AC_CANONICAL_HOST, to improve autobuild outputs.
7578
7579 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
7580             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
7581
7582         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
7583         sockets, server sockets, and other file descriptors.  Count errors
7584         to compute the return value.  Reorder the code a bit to be easier
7585         to follow.  Don't set event bits that were not requested (except
7586         POLLERR and POLLHUP).
7587
7588 2007-01-01  Bruno Haible  <bruno@clisp.org>
7589
7590         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
7591
7592 2007-01-03  Jim Meyering  <jim@meyering.net>
7593
7594         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
7595
7596 2007-01-02  Bruno Haible  <bruno@clisp.org>
7597
7598         * modules/settime (Include): Require timespec.h.
7599         * modules/nanosleep (Include): Likewise.
7600
7601 2007-01-01  Bruno Haible  <bruno@clisp.org>
7602
7603         * gnulib-tool (func_emit_copyright_notice): Bump year.
7604         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
7605
7606 2007-01-01  Bruno Haible  <bruno@clisp.org>
7607
7608         Improve support for OpenBSD.
7609         * build-aux/config.rpath (libname_spec): Export.
7610         (library_names_spec): New variable. Export.
7611         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
7612         library_names_spec from the config.rpath output. Locate shared library
7613         through the name pattern in library_names_spec.
7614
7615 2007-01-01  Eric Blake  <ebb9@byu.net>
7616
7617         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
7618
7619 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
7620
7621         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
7622         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
7623         assume the C locale, and avoid an "eval" that could cause trouble.
7624         Problem with SORT reported by Bob Proulx.
7625
7626         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
7627         Define.  Trivial patch from Henning Nielsen Lund, originally
7628         sent to bug-grep@gnu.org today.
7629
7630 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
7631
7632         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
7633         struct stat.  Problem reported by Henning Nielsen Lund.
7634         * lib/acl.c: Include acl.h first, to check interface.  Don't
7635         bother to include sys/types.h and sys/stat.h again.
7636
7637 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
7638
7639         Import the following change from libc; problem reported by
7640         Sven Verdoolaege.
7641
7642         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
7643
7644         [BZ #1373]
7645         * lib/argp.h: Remove __NTH for __argp_usage inline function.
7646
7647 2006-12-28  Jim Meyering  <jim@meyering.net>
7648
7649         * build-aux/announce-gen: Do not assume that the package
7650         builds any of tar.gz, tar.bz2, and .xdelta files.
7651         Suggestion from Simon Josefsson.
7652
7653 2006-12-28  Simon Josefsson  <simon@josefsson.org>
7654
7655         * modules/announce-gen: New file.
7656
7657 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
7658
7659         * lib/mbchar.h: Just include <wctype.h>; the wctype module
7660         handles its gotchas now.
7661         * lib/mbswidth.c: Likewise.
7662         * lib/wcwidth.h: Likewise.
7663         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
7664         and iswcntrl; the wctype module does this stuff now.
7665         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
7666         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
7667         * modules/mbchar (Depends-on): Add wctype.
7668         * modules/mbswidth (Depends-on): Likewise.
7669         * modules/wcwidth (Depends-on): Likewise.
7670
7671 2006-12-27  Eric Blake  <ebb9@byu.net>
7672
7673         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
7674         module uses more than what <wctype.h> is required to provide.
7675
7676 2006-12-26  Eric Blake  <ebb9@byu.net>
7677
7678         * gnulib-tool (sed_extract_prog): Avoid space-tab.
7679
7680 2006-12-26  Eric Blake  <ebb9@byu.net>
7681
7682         * modules/absolute-header: New module.
7683         * modules/fcntl (Depends-on): Depend on it.
7684         * modules/inttypes (Depends-on): Likewise.
7685         * modules/stdint (Depends-on): Likewise.
7686         * modules/sys_stat (Depends-on): Likewise.
7687         * modules/wctype (Depends-on): Likewise.
7688         * MODULES.html.sh (Support for building libraries and
7689         executables): Document it.
7690
7691 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
7692
7693         * gnulib-tool (SED): Remove, undoing previous change.
7694         The problem was that it broke coreutils on Solaris, because
7695         "sed --posix" leaked into a makefile.
7696         (sed): New alias, if 'alias' and GNU sed.
7697
7698 2006-12-24  Jim Meyering  <jim@meyering.net>
7699
7700         Work around an fchownat bug in glibc-2.4:
7701         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
7702         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
7703         in spite of the -P option.
7704         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
7705         New macros.
7706         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
7707         * modules/openat (Files): Add lib/fchownat.c.
7708         * lib/openat.c (fchownat): Don't define here.  Move to...
7709         * lib/fchownat.c: ...this new file.
7710
7711 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
7712
7713         Fix bug reported by Bruno Haible in
7714         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
7715         where quotearg.c didn't compile on Mac OS X 10.2 because it
7716         lacks <wchar.h> and wint_t.
7717         * lib/wctype_.h (__wctype_wint_t): New type.
7718         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
7719         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
7720         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
7721         Arg is now of type __wctype_wint_t, not wint_t.
7722         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
7723         substitute HAVE_WINT_T.
7724         * modules/wctype (Files): Add m4/wint_t.m4.
7725         (wctype.h): Substitute HAVE_WINT_T.
7726
7727 2006-12-23  Bruno Haible  <bruno@clisp.org>
7728
7729         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
7730
7731 2006-12-23  Bruno Haible  <bruno@clisp.org>
7732
7733         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
7734         S_ISLNK.
7735         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
7736         mingw.
7737
7738 2006-12-22  Bruno Haible  <bruno@clisp.org>
7739
7740         * lib/copy-file.c: Include acl.h.
7741         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
7742         Close the file descriptors only after being done with copy_acl.
7743         * modules/copy-file (Depends-on): Add acl.
7744
7745 2006-12-22  Bruno Haible  <bruno@clisp.org>
7746
7747         * gnulib-tool (SED): New variable.
7748         Use $SED instead of sed everywhere.
7749
7750 2006-12-22  Bruno Haible  <bruno@clisp.org>
7751
7752         * modules/no-c++: New file.
7753         * m4/no-c++.m4: New file.
7754         * MODULES.html.sh (Support for building libraries and executables):
7755         Add no-c++.
7756
7757 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
7758
7759         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
7760         Include <limits.h>, and use its INT_MAX to rewrite the
7761         j loop so that it does not overflow 'int'.  Problem reported by
7762         Ralf Wildenhues in
7763         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
7764         Play it safe by shifting left by 1 rather than multiplying by 2,
7765         as GCC is less likely to optimize this away when the value
7766         is signed (when it assumes overflow leads to undefined behavior).
7767         Also, don't assume time_t uses two's complement.
7768
7769 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
7770
7771         * MODULES.html.sh: New module wctype.
7772         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
7773         * lib/fnmatch.c: Don't bother to include <wchar.h> before
7774         <wctype.h>, since the new wctype module should fix this.
7775         * lib/quotearg.c: Include <wctype.h> unconditionally, since
7776         the wctype module should arrange for it.
7777         * lib/regex_internal.h: Likewise.
7778         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
7779         since the wctype module should handle this now.
7780         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
7781         * modules/fnmatch (Depends-on): Add wctype.
7782         * modules/quotearg (Depends-on): Likewise.
7783         * modules/regex (Depends-on): Likewise.
7784
7785 2006-12-19  Bruno Haible  <bruno@clisp.org>
7786
7787         * lib/strdup.h [C++]: Wrap definitions in extern "C".
7788         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
7789
7790 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7791
7792         * modules/savewd (Depends-on): Fix dependency on fcntl.
7793
7794 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
7795
7796         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
7797         conforms to C99, rather than relying on the user's environment
7798         setting of STDINT_H.
7799
7800 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
7801         and Eric Blake  <ebb9@byu.net>
7802
7803         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
7804         This is more consistent with the other defines here.
7805         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
7806         Port to z/OS.  Problem reported by Paul Gilmartin.
7807         Change local vars to use gl_ prefix rather than ac_.
7808         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
7809         with other defines.
7810         * modules/double-slash-root: New module.
7811         * modules/dirname (Files): Remove m4/double-slash-root.m4.
7812         (Depends-on): Add double-slash-root.
7813         * MODULES.html.sh (File system functions): Mention new module.
7814
7815 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
7816
7817         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
7818         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
7819         This is for the benefit of gzip, which doesn't do i18n.
7820
7821 2006-12-12  Jim Meyering  <jim@meyering.net>
7822
7823         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
7824         Reported by Andreas Schwab <schwab@suse.de>.
7825
7826 2006-12-12  Bruno Haible  <bruno@clisp.org>
7827
7828         Merge these changes.
7829         2006-09-05  Bruno Haible  <bruno@clisp.org>
7830         * lib/iconvme.c (iconv_string): No need to save and restore errno when
7831         iconv_alloc succeeded.
7832         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
7833         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
7834         test for " && dest " at the end - dest is always != NULL there. Call
7835         iconv with 4xNULL arguments initially, to reset the state. Call iconv
7836         with 2xNULL arguments, also to flush the state storage. Handle the
7837         IRIX iconv behaviour. Realloc the final result, to throw away unused
7838         memory.
7839
7840 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
7841
7842         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
7843         and fchmodat unconditionally, since glibc 2.4 has them.
7844         Problem reported by Arkadiusz Miskiewicz.
7845
7846 2006-12-10  Bruno Haible  <bruno@clisp.org>
7847
7848         * gnulib-tool (func_import): Show the include files only for those
7849         modules that are copied and specified.
7850         Reported by Karl Berry.
7851
7852 2006-12-08  Jim Meyering  <jim@meyering.net>
7853
7854         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
7855         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
7856
7857         * build-aux/announce-gen: Add two new options, both optional:
7858         --bootstrap-tools=TOOL_LIST
7859               a comma-separated list of tools, e.g.,
7860               autoconf,automake,bison,gnulib
7861         --gnulib-snapshot-date=DATE
7862               if gnulib is in the bootstrap tool list,
7863               then report this as the snapshot date.
7864               If not specified, use the current date/time.
7865               If you specify a date here, be sure it's UTC.
7866
7867 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7868
7869         * tests/test-argp-2.sh: Fix test to match actual output.
7870         (func_compare): Fix sed script to be portable.
7871
7872 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
7873
7874         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
7875         workaround for this case.  It is not autoconfigured now; offhand
7876         it's hard to see how to autoconfigure it.
7877
7878 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
7879
7880         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
7881         a directory that is about to be chowned.  Such a directory's
7882         initial file permissions should permit the owner only and this
7883         should not be changed until after the chown, since the group and
7884         other bits would be incorrect if they granted permission before
7885         the chown.
7886
7887         Fix porting problem for iswctype reported by Georg Schwarz in:
7888         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
7889         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
7890         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
7891         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
7892         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
7893
7894 2006-12-03  Jim Meyering  <jim@meyering.net>
7895
7896         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
7897         p->fts_statp may not yet be defined.
7898         (fts_read): Instead, set it in the caller, once p->fts_statp is
7899         sure to be defined, and corresponds to a top-level directory.
7900         This bug made du -x fail.  Here's the coreutils test case:
7901         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
7902         Reported by Mike Frysinger.
7903
7904 2006-12-01  Jim Meyering  <jim@meyering.net>
7905
7906         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
7907         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
7908         Reported by Simon Josefsson.
7909
7910 2006-11-30  Jim Meyering  <jim@meyering.net>
7911
7912         * m4/warning.m4: Use the all-permissive copyright notice
7913         recommended by RMS (rather than LGPL).
7914         * m4/vararrays.m4: Likewise.
7915         * m4/flexmember.m4: Likewise.
7916
7917 2006-11-29  Bruno Haible  <bruno@clisp.org>
7918
7919         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
7920         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
7921         using +=.
7922         Reported by Simon Josefsson <simon@josefsson.org>.
7923
7924 2006-11-28  James Youngman <jay@gnu.org>
7925
7926         * README: Advise users that they might find the bug-gnulib@gnu.org
7927         and autotools-announce@gnu.org mailing lists useful.
7928
7929 2006-11-28  Bruno Haible  <bruno@clisp.org>
7930
7931         * m4/ptrdiff_max.m4: Remove file.
7932
7933 2006-11-21  Bruno Haible  <bruno@clisp.org>
7934
7935         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
7936         _AC_COMPUTE_INT.
7937         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
7938         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
7939         _AC_COMPUTE_INT.
7940         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
7941         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
7942         _AC_COMPUTE_INT.
7943         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
7944
7945 2006-11-28  Jim Meyering  <jim@meyering.net>
7946
7947         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
7948         warning from "gcc -Wshadow" about shadowing the builtin.
7949
7950 2006-11-27  Bruno Haible  <bruno@clisp.org>
7951
7952         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
7953         _AC_COMPUTE_INT.
7954         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
7955
7956 2006-11-27  Bruno Haible  <bruno@clisp.org>
7957             Paul Eggert  <eggert@cs.ucla.edu>
7958
7959         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
7960
7961 2006-11-26  Bruno Haible  <bruno@clisp.org>
7962
7963         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
7964         noinst_LTLIBRARIES.
7965
7966 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
7967             Bruno Haible  <bruno@clisp.org>
7968
7969         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
7970         if compiling with "gcc -ansi".
7971
7972 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
7973
7974         Fix some incompatibilities with gcc -ansi -pedantic.
7975         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
7976         if compiling pedantically with GCC, unless it's C99 or later.
7977         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
7978         it mishandles gcc -ansi -pedantic as well.
7979         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
7980         if gcc -pedantic.
7981         * lib/regexec.c (check_node_accept_bytes): Don't use auto
7982         initializers for struct if -pedantic, unless it's C99 or later.
7983
7984 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
7985
7986         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
7987         Don't close an fd more than once. Identical atimes indicate
7988         success, not failure.
7989
7990 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
7991
7992         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
7993
7994 2006-11-23  Jim Meyering  <jim@meyering.net>
7995
7996         * build-aux/announce-gen: New file.  From coreutils.
7997
7998 2006-11-22  Jim Meyering  <jim@meyering.net>
7999
8000         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
8001         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
8002         (fts_read): Use a temporary to narrow the overused st_size member
8003         before using it in a switch statement.  Reported by Matthew Woehlke.
8004
8005         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
8006         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
8007
8008 2006-11-20  Bruno Haible  <bruno@clisp.org>
8009
8010         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
8011         changequote instead of pairs of brackets.
8012         Reported by Andreas Schwab <schwab@suse.de>.
8013
8014 2006-11-21  Jim Meyering  <jim@meyering.net>
8015
8016         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
8017         so as to remain compatible with older compilers.
8018         Patch from Michael Deutschmann.
8019
8020 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8021
8022         * MODULES.html.sh (File system functions): Add openat.
8023
8024         * lib/openat.h (rpl_fstatat): New macro, if
8025         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
8026         (fstatat): Define to rpl_fstatat under the same conditions,
8027         unless COMPILING_FSTATAT.
8028         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
8029         seems to have the bug.
8030         * lib/fstatat.c: New file.
8031         * modules/openat (Files): Add it.
8032
8033 2006-11-20  Bruno Haible  <bruno@clisp.org>
8034
8035         * Makefile: New file.
8036
8037 2006-11-20  Jim Meyering  <jim@meyering.net>
8038
8039         The beginnings of syntax-related checks for gnulib.
8040         * lib/Makefile: New file.
8041         * lib/t-idcache: New script.  Ensure that the two halves of
8042         idcache.c stay in sync.
8043
8044         * lib/idcache.c: Adjust comments in user- and group- portions to
8045         be more accurate, and to be consistent with one another.
8046
8047 2006-11-20  Jim Meyering  <jim@meyering.net>
8048
8049         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
8050         continue using the flexible array member (thus, this module performs
8051         half as many malloc calls), with the addition that...
8052         (getgroup, getuser): Consistently record a non-match via an empty
8053         "name" string, and map an empty string match to a NULL return value.
8054         * modules/idcache (Depends-on): Re-add flexmember.
8055
8056         * lib/idcache.c (getuser): Remove all uses of the register keyword.
8057         (getuidbyname, getgroup, getgidbyname): Likewise.
8058
8059         Use cleaner syntax: NULL rather than 0.
8060         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
8061
8062 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
8063
8064         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
8065         It mishandled the case where the group was missing.
8066         Problem reported by Greg Schafer.
8067         * modules/idcache: Likewise.
8068
8069 2006-11-18  Jim Meyering  <jim@meyering.net>
8070
8071         * check-module (%exempt_header): Add exception for some
8072         conditionally-included headers.
8073
8074         * modules/i-ring (Depends-on): Add verify.
8075         (License): Change to LGPL.
8076
8077 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
8078
8079         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
8080         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
8081         and inttostr.h.  Use snprintf rather than uinttostr, so that
8082         LGPLed code doesn't depend on GPLed.
8083
8084 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
8085
8086         * modules/inline (License): Change from GPL to LGPL.
8087
8088 2006-11-17  Jim Meyering  <jim@meyering.net>
8089
8090         * modules/d-type (License): Switch to LGPL.
8091
8092 2006-11-15  Bruno Haible  <bruno@clisp.org>
8093
8094         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
8095
8096 2006-11-15  Eric Blake  <ebb9@byu.net>
8097
8098         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
8099         the module dependency.
8100
8101 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8102             Bruno Haible  <bruno@clisp.org>
8103
8104         * gnulib-tool (func_create_testdir): Add license consistency check.
8105
8106 2006-11-15  Eric Blake  <ebb9@byu.net>
8107
8108         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
8109         random "(cached)" in configure output.
8110
8111 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8112
8113         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
8114         test for conforming inttypes.h is both announced and cached.
8115
8116         * MODULES.html.sh (seen_modules, seen_files): New variables.
8117         (func_module): Rewrite to use a few less gnulib-tool and sed
8118         invocations.  Avoid a couple of quadratic algorithms for ...
8119         (missed_modules, missed_files): ... these, with ...
8120         (func_append, func_tmpdir): ... these new functions, from
8121         gnulib-tool.  Analogously, install traps for cleanup.
8122
8123         * tests/test-gc.c (main): Remove unused variables.
8124         * tests/test-read-file.c: Include stdlib.h, for 'free'.
8125
8126 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
8127
8128         * modules/inttostr (License): Change to LGPL.
8129
8130 2006-11-14  Eric Blake  <ebb9@byu.net>
8131
8132         * modules/tempname (License): Change to LGPL.
8133
8134 2006-11-14  Eric Blake  <ebb9@byu.net>
8135
8136         * doc/functions.texi (Function Portability): *printf functions on
8137         Cygwin now understand all POSIX size specifiers.
8138
8139 2006-11-14  Bruno Haible  <bruno@clisp.org>
8140
8141         * modules/c-ctype (License): Change to LGPL.
8142
8143 2006-11-12  Bruno Haible  <bruno@clisp.org>
8144
8145         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
8146         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
8147         for GNOME libraries, for which the include files are installed in
8148         subdirectories of $prefix/include.
8149
8150 2006-11-12  Bruno Haible  <bruno@clisp.org>
8151
8152         * m4/lib-link.m4: Require at least autoconf-2.54.
8153         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
8154         name to underscores for the --with option.
8155
8156 2006-11-13  Bruno Haible  <bruno@clisp.org>
8157
8158         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
8159         the tests directory.
8160         Reported by Ralf Wildenhues.
8161
8162 2006-11-13  Bruno Haible  <bruno@clisp.org>
8163
8164         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
8165         (func_emit_initmacro_end): Undo the override here.
8166         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
8167         Works around the famous automake error in coreutils.
8168
8169 2006-11-13  Eric Blake  <ebb9@byu.net>
8170
8171         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
8172         element, not its node.
8173
8174 2006-11-12  Bruno Haible  <bruno@clisp.org>
8175
8176         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
8177         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
8178
8179 2006-11-12  Bruno Haible  <bruno@clisp.org>
8180
8181         * gnulib-tool: New option --local-symlink.
8182         (func_usage): Document it.
8183         (lsymbolic): New variable.
8184         (func_import, func_create_testdir): If --symlink was not specified,
8185         test whether --local-symlink was specified and the file comes from
8186         the local_gnulib_dir.
8187
8188 2006-11-12  Bruno Haible  <bruno@clisp.org>
8189
8190         * gnulib-tool (func_ln): New function.
8191         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
8192
8193 2006-11-12  Bruno Haible  <bruno@clisp.org>
8194
8195         Finish support for source files in subdirectories.
8196         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
8197         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
8198         AUTOMAKE_OPTIONS.
8199         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
8200
8201 2006-11-12  Bruno Haible  <bruno@clisp.org>
8202
8203         * gnulib-tool (func_get_automake_snippet): Synthesize also an
8204         EXTRA_lib_SOURCES augmentation.
8205         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
8206
8207 2006-11-12  Jim Meyering  <jim@meyering.net>
8208
8209         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
8210         file descriptors.  This also averts a failure on systems with
8211         native openat support when a traversed directory lacks "x" access.
8212         * lib/fts_.h: Include "i-ring.h"
8213         (struct FTS) [fts_fd_ring]: New member.
8214         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
8215         (FCHDIR): Add parentheses.
8216         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
8217         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
8218         When descending, rather than simply closing the previous
8219         fts_cwd_fd value, push that file descriptor onto the ring.
8220         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
8221         (fts_open): Initialize the new fd_ring member.
8222         (fts_close): Clear the ring.
8223         (fts_safe_changedir): When possible, use our new fd_ring to skip
8224         the diropen and fstat and dev/ino comparison that would normally
8225         accompany a virtual `chdir ("..")'.
8226
8227         * modules/fts (Depends-on): Add i-ring.
8228         * modules/i-ring: New module.
8229         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
8230         * m4/i-ring.m4: New file.
8231
8232 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8233
8234         * gnulib-tool (func_create_testdir): Fix replacement of
8235         `build-aux' in configure.ac.  Run autotools in gltests
8236         subdirectory.
8237         (func_create_testdir, func_create_megatestdir, test): There is
8238         no need for '--force' in most autotool invocations in a new
8239         tree.  Actually fail the whole test if any of the tools, or the
8240         configure or make stages fail.
8241
8242         Sync from Automake.
8243         * build-aux/gnupload: Revert last change.  Add pointer to upload
8244         instructions of the GNU Maintenance Instructions.
8245         Suggestion by Karl Berry.
8246
8247 2006-11-10  Jim Meyering  <jim@meyering.net>
8248
8249         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
8250
8251 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
8252
8253         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
8254         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
8255         (bind_textdomain_codeset) [! ENABLE_NLS]:
8256         Evaluate all the arguments.  That way, callers get compatible behavior
8257         if the arguments have side effects.  Also, it avoids some GCC
8258         diagnostics in some cases; Joel E. Denny reported problems when Bison
8259         was configured with --enable-gcc-warnigs.
8260
8261 2006-11-10  Jim Meyering  <jim@meyering.net>
8262
8263         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
8264         relevant options in CFLAGS (like -O, -fno-inline) are taken into
8265         account.
8266
8267 2006-11-10  Jim Meyering  <jim@meyering.net>
8268
8269         * modules/inline: New file/module.
8270         * modules/xalloc (Files): Remove m4/inline.m4.
8271         (Depends-on): Add inline, instead.
8272         * modules/oset: Likewise.
8273         * modules/list: Likewise.
8274
8275 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
8276
8277         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
8278         Problem reported by Matthew Woehlke.
8279
8280 2006-11-09  Bruno Haible  <bruno@clisp.org>
8281
8282         * lib/tempname.c (gen_tempname): Remove variant that invokes
8283         __gen_tempname.
8284         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
8285         __gen_tempname.
8286
8287 2006-11-08  Bruno Haible  <bruno@clisp.org>
8288
8289         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
8290         to 'yes' instead of 'cross-compiling'.
8291
8292 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
8293
8294         * lib/quotearg.h (quotearg_free): New decl.
8295         * lib/quotearg.c (quotearg_free): New function.
8296         (slot0, nslots, slotvec0, slotvec):
8297         Now file-scope so that quotearg_free can get at them.
8298
8299 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8300
8301         Sync from Automake.
8302         * build-aux/gnupload: Add missing 'gnu' to example URL.
8303         Report by Karl Berry.
8304
8305 2006-11-08  Bruno Haible  <bruno@clisp.org>
8306
8307         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
8308         Suggested by Paul Eggert.
8309
8310 2006-11-08  Jim Meyering  <jim@meyering.net>
8311
8312         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
8313         It's already included if !_LIBC.
8314         (fts_safe_changedir): Add a comment.
8315
8316 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
8317
8318         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
8319         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
8320         Matthew Woehlke.
8321
8322         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
8323         definitions up, to avoid colliding with change below.
8324         (static_inline) [HAVE_INLINE]: New macro.
8325         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
8326         Provide extern decls when !HAVE_INLINE.  Do not define unless
8327         static_inline is defined, either by us or by xmalloc.c.  Use
8328         static_inline rather than static inline.
8329         (XCALLOC): Optimize sizeof(T) = 1 case.
8330         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
8331
8332 2006-11-07  Bruno Haible  <bruno@clisp.org>
8333
8334         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
8335         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
8336         AC_C_INLINE.
8337         * modules/xalloc (Files): Add m4/inline.m4.
8338
8339 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8340
8341         * README: Fix typo.
8342         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
8343         (Miscellanous Notes): ...from this.
8344
8345 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
8346
8347         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
8348         Mention that offsetof should be used instead of sizeof.
8349         From Bruno Haible.
8350
8351 2006-11-07  Bruno Haible  <bruno@clisp.org>
8352
8353         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
8354
8355 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
8356
8357         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
8358         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
8359         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
8360         (gl_tree_add_before, gl_tree_add_after):
8361         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
8362         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
8363         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
8364         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
8365         (gl_linked_add_after, gl_linked_add_at): Likewise.
8366         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
8367         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
8368         (gl_tree_add_before, gl_tree_add_after): Likewise.
8369         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
8370         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
8371         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
8372
8373 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8374
8375         * lib/gl_oset.h: Use C comment style, not C++ comment style.
8376
8377 2006-11-06  Bruno Haible  <bruno@clisp.org>
8378
8379         * m4/inline.m4: New file.
8380         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
8381         * modules/list (Files): Add m4/inline.m4.
8382         * modules/oset (Files): Likewise.
8383
8384 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
8385
8386         * lib/idcache.c: Include <stddef.h>, for offsetof.
8387         (struct userid.name): Change from char * to a flexible array member.
8388         All uses changed.
8389         * modules/idcache (Depends-on): Add flexmember.
8390
8391         * MODULES.html.sh (Core language properties): New module flexmember.
8392         * modules/flexmember, m4/flexmember.m4: New files.
8393
8394         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
8395         inline functions that are identical with the old xnmalloc_inline,
8396         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
8397         that we can avoid some unnecessary integer multiplications and
8398         divisions in the common case where the element size is known at
8399         compile time.
8400         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
8401         needed.
8402         (xnboundedmalloc): Remove.
8403         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
8404         arguments, for consistency with rest of this header.
8405         (xcharalloc): Rewrite using XNMALLOC.
8406         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
8407         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
8408         versions have been moved to lib/xalloc.h and renamed to be the
8409         non-*_inline versions.
8410         (xmalloc, xrealloc): Implement without reference to the xnmalloc
8411         and xnrealloc functions, since those functions are now inline and
8412         now call us.
8413         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
8414         renaming described above.
8415         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
8416         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
8417         captures the dependency in AC_C_INLINE.
8418
8419         New module canonicalize-lgpl, proposed by Charles Wilson in
8420         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
8421         with a few small changes afterwards.
8422         * MODULES.html.sh (File system functions): New module
8423         canonicalize-lgpl.
8424         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
8425         and canonicalize_file_name.
8426         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
8427         * modules/canonicalize-lgpl: New files.
8428
8429 2006-11-05  Bruno Haible  <bruno@clisp.org>
8430
8431         * gnulib-tool (func_import, func_create_testdir): Create directories
8432         also for files in subdirectories of lib/.
8433
8434 2006-11-05  Bruno Haible  <bruno@clisp.org>
8435
8436         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
8437         ANSI C compliant.
8438
8439 2006-11-03  Bruno Haible  <bruno@clisp.org>
8440
8441         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
8442         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
8443         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
8444         (xnboundedmalloc): New inline function.
8445         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
8446         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
8447         xmalloc.
8448         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
8449         xmalloc.
8450         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
8451         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
8452         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
8453         xmalloc.
8454         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
8455         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
8456         xmalloc.
8457         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
8458         gl_tree_add_after): Use XMALLOC instead of xmalloc.
8459         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
8460         xmalloc.
8461         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
8462         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
8463         gl_tree_add_after): Use XMALLOC instead of xmalloc.
8464         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
8465         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
8466         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
8467         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
8468
8469 2006-11-03  Bruno Haible  <bruno@clisp.org>
8470
8471         * lib/c-ctype.h [C++]: Define functions without name mangling.
8472         * lib/fwriteerror.h [C++]: Likewise.
8473         * lib/gcd.h [C++]: Likewise.
8474         * lib/linebreak.h [C++]: Likewise.
8475
8476 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
8477
8478         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
8479         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
8480         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
8481         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
8482         Check for functions and headers just once.
8483         Check for declaration of canonicalize_file_name.
8484         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
8485
8486 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
8487
8488         * gnulib-tool (func_import): Fix typo in actioncmd.
8489
8490 2006-11-02  Bruno Haible  <bruno@clisp.org>
8491
8492         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
8493         newline sequence in the Makefile.am snippet as a space, like "make"
8494         does.
8495         Reported by Roger Persson <perrog@gmail.com>.
8496
8497 2006-11-01  Bruno Haible  <bruno@clisp.org>
8498
8499         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
8500         already declared in <string.h>.
8501         * lib/strcase.h (strncasecmp): Don't declare it if yes.
8502
8503 2006-11-01  Bruno Haible  <bruno@clisp.org>
8504
8505         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
8506         * lib/strcase.h: Include <string.h>.
8507         (strcasecmp): Define to rpl_strcasecmp here.
8508
8509 2006-11-01  Bruno Haible  <bruno@clisp.org>
8510
8511         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
8512
8513 2006-11-01  Eric Blake  <ebb9@byu.net>
8514
8515         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
8516
8517         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
8518
8519 2006-10-29  Bruno Haible  <bruno@clisp.org>
8520
8521         Make it compile in C++ mode.
8522         * lib/full-write.c (full_rw): Add a cast.
8523
8524 2006-11-01  Bruno Haible  <bruno@clisp.org>
8525
8526         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
8527         be POSIX compliant.
8528         Reported by Roger Persson <perrog@gmail.com>.
8529
8530 2006-11-01  Eric Blake  <ebb9@byu.net>
8531
8532         * lib/getopt_.h: Fix comments.
8533
8534 2006-10-31  Eric Blake  <ebb9@byu.net>
8535
8536         * modules/tmpdir (Depends-on): Add sys_stat.
8537         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
8538         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
8539         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
8540         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
8541         tempname.
8542
8543 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
8544
8545         Avoid some C++ diagnostics reported by Bruno Haible.
8546         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
8547         xmalloc.
8548         (quotearg_alloc): Use xcharalloc rather than xmalloc.
8549         (struct slotvec): Move to top level.
8550         (quotearg_n_options): Rewrite to avoid xmalloc.
8551         * lib/xalloc.h (xcharalloc): New function.
8552         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
8553         [defined __cplusplus]: Add function template that provides result
8554         type propagation.  This part of the change is from Bruno Haible.
8555
8556 2006-10-29  Bruno Haible  <bruno@clisp.org>
8557
8558         Make it compile in C++ mode.
8559         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
8560         * lib/strnlen1.c (strnlen1): Cast memchr result.
8561         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
8562         * lib/clean-temp.c (string_equals, string_hash): Add casts.
8563         (create_temp_dir): Rename local variable 'template'.
8564         (compile_csharp_using_sscli): Add cast.
8565         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
8566         * lib/findprog.c (find_in_path): Likewise.
8567         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
8568         * lib/wait-process.c (register_slave_subprocess): Likewise.
8569
8570 2006-10-22  Bruno Haible  <bruno@clisp.org>
8571
8572         * modules/tsearch: New file.
8573         * lib/tsearch.h: New file.
8574         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
8575         * m4/tsearch.m4: New file.
8576         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
8577
8578 2006-10-29  Eric Blake  <ebb9@byu.net>
8579
8580         * lib/arcfour.c: Assume config.h.
8581         * lib/arctwo.c: Likewise.
8582         * lib/base64.c: Likewise.
8583         * lib/check-version.c: Likewise.
8584         * lib/crc.c: Likewise.
8585         * lib/des.c: Likewise.
8586         * lib/gc-gnulib.c: Likewise.
8587         * lib/gc-libgcrypt.c: Likewise.
8588         * lib/gc-pbkdf2-sha1.c: Likewise.
8589         * lib/getaddrinfo.c: Likewise.
8590         * lib/getdelim.c: Likewise.
8591         * lib/getline.c: Likewise.
8592         * lib/hmac-md5.c: Likewise.
8593         * lib/hmac-sha1.c: Likewise.
8594         * lib/iconvme.c: Likewise.
8595         * lib/md2.c: Likewise.
8596         * lib/md4.c: Likewise.
8597         * lib/memxor.c: Likewise.
8598         * lib/read-file.c: Likewise.
8599         * lib/readline.c: Likewise.
8600         * lib/rijndael-alg-fst.c: Likewise.
8601         * lib/rijndael-api-fst.c: Likewise.
8602         * lib/xgetdomainname.c: Likewise.
8603
8604 2006-10-28  Eric Blake  <ebb9@byu.net>
8605
8606         * lib/xstrndup.c: Assume config.h.
8607
8608 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
8609
8610         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
8611         stat-macros.h is now for our own macros, whereas stat_h is for
8612         macros in the <sys/stat.h> name space.
8613         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
8614         (STAT_MACROS_H): Remove.
8615         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
8616         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
8617         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
8618         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
8619         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
8620         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
8621         Move these macros to ...
8622         * lib/stat_.h: here.  Don't include stat-macros.h.
8623         * lib/canonicalize.c: Don't include stat-macros.h.
8624         * lib/chown.c: Likewise.
8625         * lib/euidaccess.c: Likewise.
8626         * lib/file-type.c: Likewise.
8627         * lib/filemode.c: Likewise.
8628         * lib/glob.c: Likewise.
8629         * lib/isapipe.c: Likewise.
8630         * lib/lchown.c: Likewise.
8631         * lib/lstat.c: Likewise.
8632         * lib/mkdir-p.c: Likewise.
8633         * lib/rmdir.c: Likewise.
8634         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
8635         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
8636         unless mkdir isn't declared, to speed up 'configure'.
8637         Always create sys/stat.h, since it's unlikely any real sys/stat.h
8638         would define all the S_* symbols.
8639         * modules/canonicalize (Depends-on):
8640         Depend on sys_stat, not stat-macros.
8641         * modules/chown: Likewise.
8642         * modules/euidaccess: Likewise.
8643         * modules/filemode: Likewise.
8644         * modules/file-type: Likewise.
8645         * modules/glob: Likewise.
8646         * modules/isapipe: Likewise.
8647         * modules/lchown: Likewise.
8648         * modules/lstat: Likewise.
8649         * modules/mkancesdirs: Likewise.
8650         * modules/rmdir: Likewise.
8651         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
8652         * modules/modechange: Likewise.
8653         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
8654         (configure.ac): Remove gl_STAT_MACROS.
8655         * modules/sys_stat (Depends-on): Remove stat-macros.
8656
8657 2006-10-27  Bruno Haible  <bruno@clisp.org>
8658
8659         * m4/signed.m4: Remove file.
8660         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
8661         invocation.
8662         * modules/vasnprintf (Files): Remove m4/signed.m4.
8663
8664 2006-10-27  Bruno Haible  <bruno@clisp.org>
8665
8666         Update to GNU gettext 0.16.
8667         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
8668         m4/inttypes-h.m4, m4/signed.m4.
8669         * m4/gettext.m4: Update to GNU gettext 0.16.
8670         * m4/intl.m4: New file, from GNU gettext.
8671         * m4/intldir.m4: New file, from GNU gettext.
8672         * config/srclist.txt: Update
8673
8674 2006-10-27  Eric Blake  <ebb9@byu.net>
8675
8676         * MODULES.html.sh: Document tempname.
8677         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
8678         dependencies.
8679         (Files): Move lib/tempname.c...
8680         * modules/tempname: ...to this new module.
8681         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
8682         (gl_PREREQ_TEMPNAME): Move...
8683         * m4/tempname.m4: ...to this new file.
8684         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
8685         * modules/sys_stat (Depends-on): Add stat-macros.
8686         * lib/stat_.h (includes): Pick up stat macros.
8687         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
8688         if stat macros are broken.
8689         * lib/tempname.c (includes): No need to include "stat-macros.h".
8690         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
8691         (direxists, __path_search) [!_LIBC]: Don't compile these in
8692         gnulib; the tmpdir module covers that.
8693         * lib/tempname.h: New file.
8694
8695 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
8696
8697         * COPYING: Explain how gnulib-tool converts licence headers.
8698         Almost all wording by Eric Blake.
8699
8700 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
8701
8702         * lib/mbchar.h (is_basic_table): Make read-only.
8703         * lib/mbchar.c (is_basic_table): Likewise.
8704         Reported by John Darrington.
8705
8706 2006-10-25  Bruno Haible  <bruno@clisp.org>
8707
8708         * lib/progname.h (set_program_name): Undefine before defining.
8709
8710 2006-10-25  Bruno Haible  <bruno@clisp.org>
8711
8712         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
8713         false for non-gcc C++ compilers.
8714         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
8715
8716 2006-10-24  Bruno Haible  <bruno@clisp.org>
8717
8718         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
8719         iconv implementations like Irix iconv.
8720
8721 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
8722
8723         * modules/vararrays: New file.
8724         * m4/vararrays.m4: New file, taken from diffutils.
8725         * MODULES.html.sh: New module vararrays.
8726
8727 2006-10-24  Karl Berry  <karl@gnu.org>
8728
8729         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
8730         Don't call GNU Unix.
8731
8732 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8733
8734         * users.txt: Add Libtool.
8735
8736         Sync from Libtool:
8737
8738         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
8739
8740         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
8741         to gnulib's policy of including config.h unconditionally.
8742
8743 2006-10-24  Bruno Haible  <bruno@clisp.org>
8744
8745         * modules/wcwidth (Files): Add m4/wint_t.m4.
8746         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
8747         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
8748
8749 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
8750
8751         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
8752         to pacify GCC with some -W flags enabled.  Problem reported by
8753         Bruno Haible.
8754
8755 2006-10-24  Jim Meyering  <jim@meyering.net>
8756
8757         * MODULES.html.sh: Remove uinttostr.  It's not a module.
8758         Reported by Karl Berry.
8759
8760 2006-10-23  Bruno Haible  <bruno@clisp.org>
8761
8762         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
8763
8764 2006-10-24  Bruno Haible  <bruno@clisp.org>
8765
8766         * lib/gl_list.h: Use C comment style, not C++ comment style.
8767
8768 2006-10-23  Eric Blake  <ebb9@byu.net>
8769
8770         * lib/getaddrinfo.c (includes): Add missing include.
8771
8772 2006-10-23  Bruno Haible  <bruno@clisp.org>
8773             Paul Eggert  <eggert@cs.ucla.edu>
8774
8775         Ability to rename obstack_free.
8776         * lib/obstack.h (__obstack_free): New macro. Declare instead of
8777         obstack_free.
8778         (obstack_free): Invoke the __obstack_free macro.
8779         * lib/obstack.c (obstack_free): Use __obstack_free macro.
8780
8781 2006-10-23  Bruno Haible  <bruno@clisp.org>
8782             Paul Eggert  <eggert@cs.ucla.edu>
8783
8784         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
8785         __argc, __argv from the declaration. (They are defined as macros on
8786         mingw.)
8787
8788 2006-10-22  Bruno Haible  <bruno@clisp.org>
8789
8790         * doc/gnulib-intro.texi: New file.
8791         * doc/gnulib.texi: Include it.
8792
8793 2006-10-21  Bruno Haible  <bruno@clisp.org>
8794
8795         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
8796         "Introduction", "Miscellanous Notes", "Particular Modules".
8797
8798 2006-10-21  Bruno Haible  <bruno@clisp.org>
8799
8800         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
8801         Change mostlyclean-local rule to avoid sh syntax error from bash
8802         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
8803
8804 2006-10-23  Jim Meyering  <jim@meyering.net>
8805
8806         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
8807         in place of snprintf.
8808
8809         * modules/inttostr (Files): Add lib/uinttostr.c.
8810         * lib/uinttostr.c (inttostr): New file/function.
8811         * lib/inttostr.h (uinttostr): Declare.
8812         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
8813         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
8814         Add uinttostr.
8815         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
8816
8817 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
8818
8819         * lib/canonicalize.c (ELOOP): Define if not already defined.
8820         Problem reported by Bruno Haible in
8821         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
8822
8823 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
8824
8825         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
8826         Problem reported by Perry Smith and Ville Laurikari.
8827
8828         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
8829         uses.
8830
8831 2006-10-19  Bruno Haible  <bruno@clisp.org>
8832
8833         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
8834         for mingw.
8835
8836 2006-10-19  Bruno Haible  <bruno@clisp.org>
8837
8838         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
8839         Needed for mingw.
8840
8841 2006-10-19  Bruno Haible  <bruno@clisp.org>
8842
8843         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
8844
8845 2006-10-19  Bruno Haible  <bruno@clisp.org>
8846
8847         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
8848         it.
8849
8850 2006-10-19  Bruno Haible  <bruno@clisp.org>
8851
8852         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
8853         invocation.
8854
8855 2006-10-19  Bruno Haible  <bruno@clisp.org>
8856
8857         * gnulib-tool (func_create_testdir): Don't include ftruncate and
8858         mountlist by default.
8859
8860 2006-10-16  Bruno Haible  <bruno@clisp.org>
8861
8862         * lib/c-strstr.c: Include c-strstr.h.
8863
8864 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
8865
8866         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
8867         in a slash.
8868
8869 2006-10-18  Bruno Haible  <bruno@clisp.org>
8870
8871         * lib/lock.h [C++]: Wrap definitions in extern "C".
8872
8873 2006-10-18  Bruno Haible  <bruno@clisp.org>
8874
8875         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
8876         gl_LIBOBJS list.
8877
8878 2006-10-18  Bruno Haible  <bruno@clisp.org>
8879
8880         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
8881
8882 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
8883
8884         * lib/xstrtol.h: Include gettext.h.
8885         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
8886         Problem reported by Eric Blake.
8887         * modules/xstrtol (Depends-on): Add gettext-h.
8888
8889 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
8890
8891         * lib/strftime.c (advance): New macro.
8892         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
8893         incomplete type, so you can't add 0 to it.  Problem and patch
8894         reported by Eelco Dolstra for dietlibc.
8895
8896 2006-10-18  Jim Meyering  <jim@meyering.net>
8897
8898         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
8899         type for a local, and rename it: s/up/user_proc/.
8900
8901 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
8902
8903         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
8904         READ_UTMP_USER_PROCESS.
8905         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
8906
8907 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
8908
8909         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
8910         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
8911
8912 2006-10-17  Eric Blake  <ebb9@byu.net>
8913
8914         * lib/sigprocmask.c (sigprocmask): Fix typo.
8915
8916         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
8917
8918         * modules/clean-temp (Makefile.am): Don't add to make output...
8919         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
8920         config.h.
8921
8922 2006-10-17  Bruno Haible  <bruno@clisp.org>
8923
8924         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
8925         differently if DEFAULT_TEXT_DOMAIN is set.
8926
8927 2006-10-16  Bruno Haible  <bruno@clisp.org>
8928
8929         * lib/clean-temp.c: Include fwriteerror.h.
8930
8931 2006-10-16  Bruno Haible  <bruno@clisp.org>
8932
8933         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
8934
8935 2006-10-16  Bruno Haible  <bruno@clisp.org>
8936
8937         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
8938         * lib/sigprocmask.h: Include <sys/types.h>.
8939         (sigset_t): Use the system's definition if present.
8940
8941 2006-10-17  Eric Blake  <ebb9@byu.net>
8942
8943         * lib/xvasprintf.c (includes): Assume config.h.
8944         * lib/xasprintf.c (includes): Likewise.
8945
8946 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
8947
8948         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
8949         at least as wide as intmax_t.
8950
8951 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
8952
8953         (Imported from Automake.)
8954         * build-aux/gnupload: Update to version 1.1 of directive file.
8955
8956 2006-10-16  Eric Blake  <ebb9@byu.net>
8957
8958         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
8959         match Automake 1.10a.
8960
8961 2006-10-14  Bruno Haible  <bruno@clisp.org>
8962
8963         * modules/sigprocmask: New file.
8964         * lib/sigprocmask.h: New file.
8965         * lib/sigprocmask.c: New file.
8966         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
8967         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
8968         request sigprocmask.o.
8969         (gl_PREREQ_SIGPROCMASK): New macro.
8970         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
8971         (Depends-on): Add sigprocmask.
8972         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
8973         gt_SIGNALBLOCKING. Test for 'raise' only once.
8974         * lib/fatal-signal.c: Include sigprocmask.h.
8975         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
8976         unblock_fatal_signals): Define always.
8977         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
8978         sigprocmask.
8979
8980 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
8981
8982         Sync from Automake.
8983         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
8984         which incorrectly sets the mode of an existing destination
8985         directory.  In some cases the unpatched install-sh could do the
8986         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
8987         system.  We hope this is rare in practice, but it's clearly worth
8988         fixing.  Problem reported by Alex Unleashed in
8989         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
8990         Also, don't bother to check for -m bugs unless we're using -m;
8991         suggested by Stepan Kasal.
8992
8993 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8994
8995         Sync from Automake.
8996         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
8997         `-c' flag, so they appear at the same position as in %FASTDEP%
8998         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
8999         which ignores unknown options only after the first non-option.
9000         Bug report against M4 by Nelson H. F. Beebe.
9001
9002 2006-10-13  Jim Meyering  <jim@meyering.net>
9003
9004         Fix a bug in yesterday's change.
9005         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
9006         p->fts_statp->st_dev would be used uninitialized.
9007         Ensures that we always call fts_stat on the very first entry.
9008         Miklos Szeredi reported that find -xdev stopped working.
9009
9010 2006-10-12  Bruno Haible  <bruno@clisp.org>
9011
9012         * gnulib-tool (func_get_automake_snippet): Append an automatically
9013         computed EXTRA_DIST augmentation.
9014         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
9015         * modules/alloca-opt (Makefile.am): Likewise.
9016         * modules/allocsa (Makefile.am): Likewise.
9017         * modules/arcfour (Makefile.am): Likewise.
9018         * modules/arctwo (Makefile.am): Likewise.
9019         * modules/argmatch (Makefile.am): Likewise.
9020         * modules/argz (Makefile.am): Likewise.
9021         * modules/atexit (Makefile.am): Likewise.
9022         * modules/backupfile (Makefile.am): Likewise.
9023         * modules/byteswap (Makefile.am): Likewise.
9024         * modules/c-strtod (Makefile.am): Likewise.
9025         * modules/c-strtold (Makefile.am): Likewise.
9026         * modules/calloc (Makefile.am): Likewise.
9027         * modules/canon-host (Makefile.am): Likewise.
9028         * modules/canonicalize (Makefile.am): Likewise.
9029         * modules/chdir-long (Makefile.am): Likewise.
9030         * modules/chdir-safer (Makefile.am): Likewise.
9031         * modules/check-version (Makefile.am): Likewise.
9032         * modules/chown (Makefile.am): Likewise.
9033         * modules/cloexec (Makefile.am): Likewise.
9034         * modules/close-stream (Makefile.am): Likewise.
9035         * modules/closeout (Makefile.am): Likewise.
9036         * modules/crc (Makefile.am): Likewise.
9037         * modules/csharpexec (Makefile.am): Likewise.
9038         * modules/cycle-check (Makefile.am): Likewise.
9039         * modules/des (Makefile.am): Likewise.
9040         * modules/dev-ino (Makefile.am): Likewise.
9041         * modules/dirfd (Makefile.am): Likewise.
9042         * modules/dirname (Makefile.am): Likewise.
9043         * modules/dup2 (Makefile.am): Likewise.
9044         * modules/eealloc (Makefile.am): Likewise.
9045         * modules/error (Makefile.am): Likewise.
9046         * modules/euidaccess (Makefile.am): Likewise.
9047         * modules/exclude (Makefile.am): Likewise.
9048         * modules/exitfail (Makefile.am): Likewise.
9049         * modules/fcntl-safer (Makefile.am): Likewise.
9050         * modules/fcntl (Makefile.am): Likewise.
9051         * modules/file-type (Makefile.am): Likewise.
9052         * modules/fileblocks (Makefile.am): Likewise.
9053         * modules/filemode (Makefile.am): Likewise.
9054         * modules/filenamecat (Makefile.am): Likewise.
9055         * modules/fnmatch (Makefile.am): Likewise.
9056         * modules/fopen-safer (Makefile.am): Likewise.
9057         * modules/fpending (Makefile.am): Likewise.
9058         * modules/fprintftime (Makefile.am): Likewise.
9059         * modules/free (Makefile.am): Likewise.
9060         * modules/fsusage (Makefile.am): Likewise.
9061         * modules/ftruncate (Makefile.am): Likewise.
9062         * modules/fts (Makefile.am): Likewise.
9063         * modules/gc-arcfour (Makefile.am): Likewise.
9064         * modules/gc-des (Makefile.am): Likewise.
9065         * modules/gc-hmac-md5 (Makefile.am): Likewise.
9066         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
9067         * modules/gc-md4 (Makefile.am): Likewise.
9068         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
9069         * modules/gc-sha1 (Makefile.am): Likewise.
9070         * modules/gc (Makefile.am): Likewise.
9071         * modules/getaddrinfo (Makefile.am): Likewise.
9072         * modules/getcwd (Makefile.am): Likewise.
9073         * modules/getdelim (Makefile.am): Likewise.
9074         * modules/getdomainname (Makefile.am): Likewise.
9075         * modules/getgroups (Makefile.am): Likewise.
9076         * modules/gethostname (Makefile.am): Likewise.
9077         * modules/gethrxtime (Makefile.am): Likewise.
9078         * modules/getline (Makefile.am): Likewise.
9079         * modules/getloadavg (Makefile.am): Likewise.
9080         * modules/getlogin_r (Makefile.am): Likewise.
9081         * modules/getndelim2 (Makefile.am): Likewise.
9082         * modules/getopt (Makefile.am): Likewise.
9083         * modules/getpagesize (Makefile.am): Likewise.
9084         * modules/getpass-gnu (Makefile.am): Likewise.
9085         * modules/getpass (Makefile.am): Likewise.
9086         * modules/getsubopt (Makefile.am): Likewise.
9087         * modules/gettime (Makefile.am): Likewise.
9088         * modules/gettimeofday (Makefile.am): Likewise.
9089         * modules/getugroups (Makefile.am): Likewise.
9090         * modules/getusershell (Makefile.am): Likewise.
9091         * modules/glob (Makefile.am): Likewise.
9092         * modules/group-member (Makefile.am): Likewise.
9093         * modules/hard-locale (Makefile.am): Likewise.
9094         * modules/hash (Makefile.am): Likewise.
9095         * modules/hmac-md5 (Makefile.am): Likewise.
9096         * modules/hmac-sha1 (Makefile.am): Likewise.
9097         * modules/human (Makefile.am): Likewise.
9098         * modules/idcache (Makefile.am): Likewise.
9099         * modules/imaxabs (Makefile.am): Likewise.
9100         * modules/imaxdiv (Makefile.am): Likewise.
9101         * modules/inet_ntop (Makefile.am): Likewise.
9102         * modules/inet_pton (Makefile.am): Likewise.
9103         * modules/intprops (Makefile.am): Likewise.
9104         * modules/inttostr (Makefile.am): Likewise.
9105         * modules/inttypes (Makefile.am): Likewise.
9106         * modules/isapipe (Makefile.am): Likewise.
9107         * modules/javaversion (Makefile.am): Likewise.
9108         * modules/lchmod (Makefile.am): Likewise.
9109         * modules/lchown (Makefile.am): Likewise.
9110         * modules/localcharset (Makefile.am): Likewise.
9111         * modules/long-options (Makefile.am): Likewise.
9112         * modules/lstat (Makefile.am): Likewise.
9113         * modules/malloc (Makefile.am): Likewise.
9114         * modules/mathl (Makefile.am): Likewise.
9115         * modules/mbchar (Makefile.am): Likewise.
9116         * modules/md2 (Makefile.am): Likewise.
9117         * modules/md4 (Makefile.am): Likewise.
9118         * modules/md5 (Makefile.am): Likewise.
9119         * modules/memcasecmp (Makefile.am): Likewise.
9120         * modules/memchr (Makefile.am): Likewise.
9121         * modules/memcmp (Makefile.am): Likewise.
9122         * modules/memcoll (Makefile.am): Likewise.
9123         * modules/memcpy (Makefile.am): Likewise.
9124         * modules/memmem (Makefile.am): Likewise.
9125         * modules/memmove (Makefile.am): Likewise.
9126         * modules/mempcpy (Makefile.am): Likewise.
9127         * modules/memrchr (Makefile.am): Likewise.
9128         * modules/memset (Makefile.am): Likewise.
9129         * modules/memxor (Makefile.am): Likewise.
9130         * modules/mkancesdirs (Makefile.am): Likewise.
9131         * modules/mkdir-p (Makefile.am): Likewise.
9132         * modules/mkdir (Makefile.am): Likewise.
9133         * modules/mkdtemp (Makefile.am): Likewise.
9134         * modules/mkstemp (Makefile.am): Likewise.
9135         * modules/mktime (Makefile.am): Likewise.
9136         * modules/modechange (Makefile.am): Likewise.
9137         * modules/mountlist (Makefile.am): Likewise.
9138         * modules/nanosleep (Makefile.am): Likewise.
9139         * modules/obstack (Makefile.am): Likewise.
9140         * modules/openat (Makefile.am): Likewise.
9141         * modules/pagealign_alloc (Makefile.am): Likewise.
9142         * modules/pathmax (Makefile.am): Likewise.
9143         * modules/physmem (Makefile.am): Likewise.
9144         * modules/poll (Makefile.am): Likewise.
9145         * modules/posixtm (Makefile.am): Likewise.
9146         * modules/posixver (Makefile.am): Likewise.
9147         * modules/putenv (Makefile.am): Likewise.
9148         * modules/quote (Makefile.am): Likewise.
9149         * modules/quotearg (Makefile.am): Likewise.
9150         * modules/raise (Makefile.am): Likewise.
9151         * modules/read-file (Makefile.am): Likewise.
9152         * modules/readline (Makefile.am): Likewise.
9153         * modules/readlink (Makefile.am): Likewise.
9154         * modules/readtokens (Makefile.am): Likewise.
9155         * modules/readutmp (Makefile.am): Likewise.
9156         * modules/realloc (Makefile.am): Likewise.
9157         * modules/regex (Makefile.am): Likewise.
9158         * modules/rename-dest-slash (Makefile.am): Likewise.
9159         * modules/rename (Makefile.am): Likewise.
9160         * modules/rijndael (Makefile.am): Likewise.
9161         * modules/rmdir (Makefile.am): Likewise.
9162         * modules/rpmatch (Makefile.am): Likewise.
9163         * modules/safe-read (Makefile.am): Likewise.
9164         * modules/safe-write (Makefile.am): Likewise.
9165         * modules/same-inode (Makefile.am): Likewise.
9166         * modules/same (Makefile.am): Likewise.
9167         * modules/save-cwd (Makefile.am): Likewise.
9168         * modules/savedir (Makefile.am): Likewise.
9169         * modules/setenv (Makefile.am): Likewise.
9170         * modules/settime (Makefile.am): Likewise.
9171         * modules/sha1 (Makefile.am): Likewise.
9172         * modules/sig2str (Makefile.am): Likewise.
9173         * modules/snprintf (Makefile.am): Likewise.
9174         * modules/stat-macros (Makefile.am): Likewise.
9175         * modules/stat-time (Makefile.am): Likewise.
9176         * modules/stdbool (Makefile.am): Likewise.
9177         * modules/stdint (Makefile.am): Likewise.
9178         * modules/stdlib-safer (Makefile.am): Likewise.
9179         * modules/stpcpy (Makefile.am): Likewise.
9180         * modules/stpncpy (Makefile.am): Likewise.
9181         * modules/strcase (Makefile.am): Likewise.
9182         * modules/strcasestr (Makefile.am): Likewise.
9183         * modules/strchrnul (Makefile.am): Likewise.
9184         * modules/strcspn (Makefile.am): Likewise.
9185         * modules/strdup (Makefile.am): Likewise.
9186         * modules/strerror (Makefile.am): Likewise.
9187         * modules/strftime (Makefile.am): Likewise.
9188         * modules/strndup (Makefile.am): Likewise.
9189         * modules/strnlen (Makefile.am): Likewise.
9190         * modules/strpbrk (Makefile.am): Likewise.
9191         * modules/strsep (Makefile.am): Likewise.
9192         * modules/strstr (Makefile.am): Likewise.
9193         * modules/strtod (Makefile.am): Likewise.
9194         * modules/strtoimax (Makefile.am): Likewise.
9195         * modules/strtok_r (Makefile.am): Likewise.
9196         * modules/strtol (Makefile.am): Likewise.
9197         * modules/strtoll (Makefile.am): Likewise.
9198         * modules/strtoul (Makefile.am): Likewise.
9199         * modules/strtoull (Makefile.am): Likewise.
9200         * modules/strtoumax (Makefile.am): Likewise.
9201         * modules/strverscmp (Makefile.am): Likewise.
9202         * modules/sys_socket (Makefile.am): Likewise.
9203         * modules/sys_stat (Makefile.am): Likewise.
9204         * modules/sysexits (Makefile.am): Likewise.
9205         * modules/time_r (Makefile.am): Likewise.
9206         * modules/timegm (Makefile.am): Likewise.
9207         * modules/timespec (Makefile.am): Likewise.
9208         * modules/tmpfile-safer (Makefile.am): Likewise.
9209         * modules/trim (Makefile.am): Likewise.
9210         * modules/unistd-safer (Makefile.am): Likewise.
9211         * modules/unlinkdir (Makefile.am): Likewise.
9212         * modules/unlocked-io (Makefile.am): Likewise.
9213         * modules/userspec (Makefile.am): Likewise.
9214         * modules/utime (Makefile.am): Likewise.
9215         * modules/utimecmp (Makefile.am): Likewise.
9216         * modules/utimens (Makefile.am): Likewise.
9217         * modules/vasnprintf (Makefile.am): Likewise.
9218         * modules/vasprintf (Makefile.am): Likewise.
9219         * modules/vsnprintf (Makefile.am): Likewise.
9220         * modules/xalloc (Makefile.am): Likewise.
9221         * modules/xgetcwd (Makefile.am): Likewise.
9222         * modules/xnanosleep (Makefile.am): Likewise.
9223         * modules/xreadlink (Makefile.am): Likewise.
9224         * modules/xstrtod (Makefile.am): Likewise.
9225         * modules/xstrtol (Makefile.am): Likewise.
9226         * modules/xstrtold (Makefile.am): Likewise.
9227         * modules/yesno (Makefile.am): Likewise.
9228         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
9229
9230 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
9231
9232         * modules/error (Makefile.am): Distribute files through
9233         EXTRA_DIST, not lib_SOURCES.
9234
9235 2006-10-12  Eric Blake  <ebb9@byu.net>
9236
9237         * modules/error (Makefile.am): Distribute files in /lib.
9238         * modules/obstack (Makefile.am): Likewise.
9239
9240 2006-10-12  Bruno Haible  <bruno@clisp.org>
9241
9242         * modules/acl (Makefile.am): Distribute all files in lib/ through
9243         EXTRA_DIST.
9244         * modules/arcfour (Makefile.am): Likewise.
9245         * modules/arctwo (Makefile.am): Likewise.
9246         * modules/argmatch (Makefile.am): Likewise.
9247         * modules/argz (Makefile.am): Likewise.
9248         * modules/atexit (Makefile.am): Likewise.
9249         * modules/backupfile (Makefile.am): Likewise.
9250         * modules/c-strtod (Makefile.am): Likewise.
9251         * modules/c-strtold (Makefile.am): Likewise.
9252         * modules/calloc (Makefile.am): Likewise.
9253         * modules/canon-host (Makefile.am): Likewise.
9254         * modules/canonicalize (Makefile.am): Likewise.
9255         * modules/chdir-long (Makefile.am): Likewise.
9256         * modules/chdir-safer (Makefile.am): Likewise.
9257         * modules/check-version (Makefile.am): Likewise.
9258         * modules/chown (Makefile.am): Likewise.
9259         * modules/cloexec (Makefile.am): Likewise.
9260         * modules/close-stream (Makefile.am): Likewise.
9261         * modules/closeout (Makefile.am): Likewise.
9262         * modules/crc (Makefile.am): Likewise.
9263         * modules/cycle-check (Makefile.am): Likewise.
9264         * modules/des (Makefile.am): Likewise.
9265         * modules/dirfd (Makefile.am): Likewise.
9266         * modules/dirname (Makefile.am): Likewise.
9267         * modules/dup2 (Makefile.am): Likewise.
9268         * modules/euidaccess (Makefile.am): Likewise.
9269         * modules/exclude (Makefile.am): Likewise.
9270         * modules/exitfail (Makefile.am): Likewise.
9271         * modules/fcntl-safer (Makefile.am): Likewise.
9272         * modules/file-type (Makefile.am): Likewise.
9273         * modules/fileblocks (Makefile.am): Likewise.
9274         * modules/filemode (Makefile.am): Likewise.
9275         * modules/filenamecat (Makefile.am): Likewise.
9276         * modules/fnmatch (Makefile.am): Likewise.
9277         * modules/fopen-safer (Makefile.am): Likewise.
9278         * modules/fpending (Makefile.am): Likewise.
9279         * modules/fprintftime (Makefile.am): Likewise.
9280         * modules/free (Makefile.am): Likewise.
9281         * modules/fsusage (Makefile.am): Likewise.
9282         * modules/ftruncate (Makefile.am): Likewise.
9283         * modules/fts (Makefile.am): Likewise.
9284         * modules/gc (Makefile.am): Likewise.
9285         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
9286         * modules/getaddrinfo (Makefile.am): Likewise.
9287         * modules/getcwd (Makefile.am): Likewise.
9288         * modules/getdelim (Makefile.am): Likewise.
9289         * modules/getdomainname (Makefile.am): Likewise.
9290         * modules/getgroups (Makefile.am): Likewise.
9291         * modules/gethostname (Makefile.am): Likewise.
9292         * modules/gethrxtime (Makefile.am): Likewise.
9293         * modules/getline (Makefile.am): Likewise.
9294         * modules/getloadavg (Makefile.am): Likewise.
9295         * modules/getlogin_r (Makefile.am): Likewise.
9296         * modules/getopt (Makefile.am): Likewise.
9297         * modules/getpass (Makefile.am): Likewise.
9298         * modules/getpass-gnu (Makefile.am): Likewise.
9299         * modules/getsubopt (Makefile.am): Likewise.
9300         * modules/gettime (Makefile.am): Likewise.
9301         * modules/gettimeofday (Makefile.am): Likewise.
9302         * modules/getugroups (Makefile.am): Likewise.
9303         * modules/getusershell (Makefile.am): Likewise.
9304         * modules/glob (Makefile.am): Likewise.
9305         * modules/group-member (Makefile.am): Likewise.
9306         * modules/hard-locale (Makefile.am): Likewise.
9307         * modules/hash (Makefile.am): Likewise.
9308         * modules/hmac-md5 (Makefile.am): Likewise.
9309         * modules/hmac-sha1 (Makefile.am): Likewise.
9310         * modules/human (Makefile.am): Likewise.
9311         * modules/idcache (Makefile.am): Likewise.
9312         * modules/imaxabs (Makefile.am): Likewise.
9313         * modules/imaxdiv (Makefile.am): Likewise.
9314         * modules/inet_ntop (Makefile.am): Likewise.
9315         * modules/inet_pton (Makefile.am): Likewise.
9316         * modules/inttostr (Makefile.am): Likewise.
9317         * modules/isapipe (Makefile.am): Likewise.
9318         * modules/lchown (Makefile.am): Likewise.
9319         * modules/long-options (Makefile.am): Likewise.
9320         * modules/lstat (Makefile.am): Likewise.
9321         * modules/malloc (Makefile.am): Likewise.
9322         * modules/mathl (Makefile.am): Likewise.
9323         * modules/mbchar (Makefile.am): Likewise.
9324         * modules/md2 (Makefile.am): Likewise.
9325         * modules/md4 (Makefile.am): Likewise.
9326         * modules/md5 (Makefile.am): Likewise.
9327         * modules/memcasecmp (Makefile.am): Likewise.
9328         * modules/memchr (Makefile.am): Likewise.
9329         * modules/memcmp (Makefile.am): Likewise.
9330         * modules/memcoll (Makefile.am): Likewise.
9331         * modules/memcpy (Makefile.am): Likewise.
9332         * modules/memmem (Makefile.am): Likewise.
9333         * modules/memmove (Makefile.am): Likewise.
9334         * modules/mempcpy (Makefile.am): Likewise.
9335         * modules/memrchr (Makefile.am): Likewise.
9336         * modules/memset (Makefile.am): Likewise.
9337         * modules/memxor (Makefile.am): Likewise.
9338         * modules/mkancesdirs (Makefile.am): Likewise.
9339         * modules/mkdir (Makefile.am): Likewise.
9340         * modules/mkdir-p (Makefile.am): Likewise.
9341         * modules/mkdtemp (Makefile.am): Likewise.
9342         * modules/mkstemp (Makefile.am): Likewise.
9343         * modules/mktime (Makefile.am): Likewise.
9344         * modules/modechange (Makefile.am): Likewise.
9345         * modules/mountlist (Makefile.am): Likewise.
9346         * modules/nanosleep (Makefile.am): Likewise.
9347         * modules/openat (Makefile.am): Likewise.
9348         * modules/pagealign_alloc (Makefile.am): Likewise.
9349         * modules/physmem (Makefile.am): Likewise.
9350         * modules/poll (Makefile.am): Likewise.
9351         * modules/posixtm (Makefile.am): Likewise.
9352         * modules/posixver (Makefile.am): Likewise.
9353         * modules/putenv (Makefile.am): Likewise.
9354         * modules/quote (Makefile.am): Likewise.
9355         * modules/quotearg (Makefile.am): Likewise.
9356         * modules/raise (Makefile.am): Likewise.
9357         * modules/read-file (Makefile.am): Likewise.
9358         * modules/readline (Makefile.am): Likewise.
9359         * modules/readlink (Makefile.am): Likewise.
9360         * modules/readtokens (Makefile.am): Likewise.
9361         * modules/readutmp (Makefile.am): Likewise.
9362         * modules/realloc (Makefile.am): Likewise.
9363         * modules/regex (Makefile.am): Likewise.
9364         * modules/rename (Makefile.am): Likewise.
9365         * modules/rename-dest-slash (Makefile.am): Likewise.
9366         * modules/rijndael (Makefile.am): Likewise.
9367         * modules/rmdir (Makefile.am): Likewise.
9368         * modules/rpmatch (Makefile.am): Likewise.
9369         * modules/safe-read (Makefile.am): Likewise.
9370         * modules/safe-write (Makefile.am): Likewise.
9371         * modules/same (Makefile.am): Likewise.
9372         * modules/save-cwd (Makefile.am): Likewise.
9373         * modules/savedir (Makefile.am): Likewise.
9374         * modules/setenv (Makefile.am): Likewise.
9375         * modules/settime (Makefile.am): Likewise.
9376         * modules/sha1 (Makefile.am): Likewise.
9377         * modules/sig2str (Makefile.am): Likewise.
9378         * modules/snprintf (Makefile.am): Likewise.
9379         * modules/stdlib-safer (Makefile.am): Likewise.
9380         * modules/stpcpy (Makefile.am): Likewise.
9381         * modules/stpncpy (Makefile.am): Likewise.
9382         * modules/strcase (Makefile.am): Likewise.
9383         * modules/strcasestr (Makefile.am): Likewise.
9384         * modules/strchrnul (Makefile.am): Likewise.
9385         * modules/strcspn (Makefile.am): Likewise.
9386         * modules/strdup (Makefile.am): Likewise.
9387         * modules/strerror (Makefile.am): Likewise.
9388         * modules/strftime (Makefile.am): Likewise.
9389         * modules/strndup (Makefile.am): Likewise.
9390         * modules/strnlen (Makefile.am): Likewise.
9391         * modules/strpbrk (Makefile.am): Likewise.
9392         * modules/strsep (Makefile.am): Likewise.
9393         * modules/strstr (Makefile.am): Likewise.
9394         * modules/strtod (Makefile.am): Likewise.
9395         * modules/strtoimax (Makefile.am): Likewise.
9396         * modules/strtok_r (Makefile.am): Likewise.
9397         * modules/strtol (Makefile.am): Likewise.
9398         * modules/strtoll (Makefile.am): Likewise.
9399         * modules/strtoul (Makefile.am): Likewise.
9400         * modules/strtoull (Makefile.am): Likewise.
9401         * modules/strtoumax (Makefile.am): Likewise.
9402         * modules/strverscmp (Makefile.am): Likewise.
9403         * modules/time_r (Makefile.am): Likewise.
9404         * modules/timegm (Makefile.am): Likewise.
9405         * modules/tmpfile-safer (Makefile.am): Likewise.
9406         * modules/unistd-safer (Makefile.am): Likewise.
9407         * modules/unlinkdir (Makefile.am): Likewise.
9408         * modules/userspec (Makefile.am): Likewise.
9409         * modules/utime (Makefile.am): Likewise.
9410         * modules/utimecmp (Makefile.am): Likewise.
9411         * modules/utimens (Makefile.am): Likewise.
9412         * modules/vasnprintf (Makefile.am): Likewise.
9413         * modules/vasprintf (Makefile.am): Likewise.
9414         * modules/vsnprintf (Makefile.am): Likewise.
9415         * modules/xalloc (Makefile.am): Likewise.
9416         * modules/xgetcwd (Makefile.am): Likewise.
9417         * modules/xnanosleep (Makefile.am): Likewise.
9418         * modules/xreadlink (Makefile.am): Likewise.
9419         * modules/xstrtod (Makefile.am): Likewise.
9420         * modules/xstrtol (Makefile.am): Likewise.
9421         * modules/xstrtold (Makefile.am): Likewise.
9422         * modules/yesno (Makefile.am): Likewise.
9423
9424 2006-10-12  Jim Meyering  <jim@meyering.net>
9425
9426         * m4/getloadavg.m4: Revert the change below.
9427
9428         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
9429         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
9430         fail with a symlink, which is what coreutils' ./bootstrap now
9431         creates by default.
9432
9433 2006-10-12  Bruno Haible  <bruno@clisp.org>
9434
9435         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
9436         mingw.
9437         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
9438         MSVC and mingw explicitly.
9439
9440 2006-10-11  Simon Josefsson  <jas@extundo.com>
9441             Bruno Haible  <bruno@clisp.org>
9442
9443         Add support for multiple gnulib-tool invocations in the scope of a
9444         single configure.ac file.
9445         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
9446         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
9447         with the same contents as the _LIBADD variable.
9448         (func_emit_initmacro_start, func_emit_initmacro_end,
9449         func_emit_initmacro_done): New functions.
9450         (func_import, func_create_testdir): Invoke them. Allow the identifiers
9451         gl_LIBOBJS and gl_LTLIBOBJS.
9452
9453 2006-10-11  Bruno Haible  <bruno@clisp.org>
9454
9455         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
9456         (func_create_testdir): Don't create po/Makefile.am, don't invoke
9457         autoreconf. Instead, invoke autopoint explicitly but move back the
9458         *.m4 files from gnulib.
9459
9460 2006-10-11  Bruno Haible  <bruno@clisp.org>
9461
9462         * gnulib-tool (func_usage): Make module names after --create-testdir
9463         optional.
9464         (func_create_testdir): If no module was specified, use nearly all
9465         modules.
9466
9467 2006-10-12  Jim Meyering  <jim@meyering.net>
9468
9469         Big performance improvement for fts-based tools that use FTS_NOSTAT.
9470         Avoid spurious inode-mismatch problems on non-POSIX file systems.
9471         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
9472         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
9473         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
9474         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
9475         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
9476         (fts_set_stat_required): New function.
9477         (fts_open): Defer the calls to fts_stat, if possible or requested.
9478         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
9479         into fts_stat itself.
9480         (fts_read): Perform any required (deferred) fts_stat call.
9481         (fts_build): Likewise, for the directory we're about to open and read.
9482         In the readdir loop, carefully decide whether each entry will require
9483         an eventual call to fts_stat, using dirent.d_type info if available.
9484         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
9485         a command line argument into this function.  Update all callers.
9486         Map a return value of FTS_DOT to FTS_D for a command line argument.
9487         * modules/fts (Depends-on): Add d-type.  Alphabetize.
9488         Thanks to Miklos Szeredi for his tenacity and for the initial
9489         bug report about "find" failing on a FUSE-based file system.
9490
9491         * lib/fts.c (fts_open): Use consistent indentation.
9492
9493 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
9494
9495         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
9496         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
9497         reported by Jim Meyering.  All uses of cache variables renamed
9498         to match Autoconf's.
9499         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
9500         the other one.
9501
9502         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
9503         Fix misspelling in diagnostic.
9504
9505 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
9506
9507         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
9508         defined.  Problem reported by Matthew Woehlke.
9509
9510         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
9511         Add support for Tandem NonStop R series.
9512         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
9513         Use new macro.
9514
9515         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
9516         (has_trailing_slash): Omit size arg; all callers changed.
9517         Omit 'inline', since it doesn't help performance and we'd
9518         need to configure it.
9519         Don't count //, ///, etc. as having a trailing slash.
9520         As a side effect, this removes a C99ism reported by Matthew Woehlke.
9521         (rpl_rename_dest_slash): On failure, use rename's errno rather
9522         than (in some cases) an incorrect or junk errno.
9523         Simplify code by removing need to compute length; this does
9524         cause it to make two passes instead of one over the file name,
9525         but it's worth it.
9526
9527         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
9528         change, since Autoconf's version may no longer be appropriate now
9529         that we are using CVS Autoconf's version.  Add support for Tandem.
9530
9531 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
9532             Bruno Haible  <bruno@clisp.org>
9533
9534         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
9535         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
9536         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
9537         gl_AC_TYPE_LONG_LONG.
9538
9539         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
9540         instead of HAVE_LONG_LONG.
9541         * lib/printf-args.c (printf_fetchargs): Likewise.
9542         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
9543         * lib/vasnprintf.c (VASNPRINTF): Likewise.
9544         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
9545         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
9546         gl_AC_TYPE_LONG_LONG.
9547
9548 2006-10-11  Bruno Haible  <bruno@clisp.org>
9549
9550         * m4/longlong.m4: Add comments.
9551         * m4/ulonglong.m4: Likewise.
9552
9553 2006-10-10  Bruno Haible  <bruno@clisp.org>
9554
9555         Make it possible to #define stpcpy, strdup to aliases.
9556         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
9557         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
9558
9559 2006-10-10  Bruno Haible  <bruno@clisp.org>
9560
9561         Make it possible to #define gcd to an alias.
9562         * lib/gcd.c: Include config.h.
9563
9564 2006-10-10  Bruno Haible  <bruno@clisp.org>
9565
9566         Make it possible to #define c_isascii to an alias.
9567         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
9568         defined. Undefine the macros before defining them, to avoid gcc
9569         warnings.
9570         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
9571         define NO_C_CTYPE_MACROS early.
9572
9573 2006-10-10  Bruno Haible  <bruno@clisp.org>
9574
9575         Make it possible to #define set_program_name to an alias.
9576         * lib/progname.c: Don't undefine set_program_name; instead, undefine
9577         ENABLE_RELOCATABLE early.
9578
9579 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
9580
9581         Port to Tandem NSK OSS, which has 64-bit signed int but at most
9582         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
9583         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
9584         More generally, don't assume that 64-bit signed int is available
9585         if unsigned int is, and vice versa.
9586         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
9587         unsigned symbols, not on their signed counterparts.
9588         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
9589         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
9590         (UINT64_C, UINTMAX_C):
9591         Likewise.
9592         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
9593         unsigned counterparts.
9594         (Have_long_long, Unsigned): New macros.
9595         (Int): Renamed from INT.
9596         (strtoimax): Use the new macros.
9597         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
9598         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
9599         * modules/inttypes (inttypes.h): Substitute
9600         HAVE_UNSIGNED_LONG_LONG_INT.
9601         * modules/stdint (stdint.h): Likewise.
9602         (Files): Add m4/ulonglong.m4.
9603
9604 2006-10-10  Bruno Haible  <bruno@clisp.org>
9605
9606         Fix a gcc -Wshadow warning.
9607         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
9608         to 'bucket'.
9609         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
9610         gl_linked_indexof_from_to): Likewise.
9611         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
9612         Likewise.
9613         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
9614         Likewise.
9615         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
9616         Reported by Eric Blake.
9617
9618 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
9619
9620         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
9621         for NetBSD.  Problem reported by Bruno Haible.
9622
9623 2006-10-09  Jim Meyering  <jim@meyering.net>
9624
9625         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
9626         Patch from Bruno Haible.
9627
9628 2006-10-09  Jim Meyering  <jim@meyering.net>
9629
9630         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
9631         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
9632         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
9633
9634 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
9635
9636         Don't include <config.h> twice; this doesn't work in some cases,
9637         e.g., when config.h has "#define intmax_t long long int" and
9638         we include <config.h>, <inttypes.h>, <config.h> in that order.
9639         Problem reported by Matthew Woehlke in:
9640         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
9641         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
9642         * lib/fts-cycle.c: Don't include config.h.
9643         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
9644         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
9645         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
9646         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
9647         inttypes.h.
9648         * lib/xstrtoumax.c: Likewise.
9649         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
9650         __strtol and the like, so that this module is more like its siblings.
9651         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
9652         Remove; no longer needed now that we assume gnulib inttypes.h.
9653
9654 2006-10-08  Bruno Haible  <bruno@clisp.org>
9655
9656         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
9657         option.
9658
9659 2006-10-07  Jim Meyering  <jim@meyering.net>
9660
9661         * modules/inttypes (inttypes.h): Revert what seems to have been
9662         an inadvertent part of today's change: use "|", not "/" in the
9663         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
9664
9665 2006-10-07  Bruno Haible  <bruno@clisp.org>
9666
9667         * modules/sublist: New file.
9668
9669 2006-10-07  Bruno Haible  <bruno@clisp.org>
9670
9671         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
9672         * modules/argz (argz.h): Likewise.
9673         * modules/arpa_inet (arpa/inet.h): Likewise.
9674         * modules/byteswap (byteswap.h): Likewise.
9675         * modules/configmake (configmake.h): Likewise.
9676         * modules/fcntl (fcntl.h): Likewise.
9677         * modules/fnmatch (fnmatch.h): Likewise.
9678         * modules/getopt (getopt.h): Likewise.
9679         * modules/glob (glob.h): Likewise.
9680         * modules/inttypes (inttypes.h): Likewise.
9681         * modules/netinet_in (netinet/in.h): Likewise.
9682         * modules/poll (poll.h): Likewise.
9683         * modules/stdbool (stdbool.h): Likewise.
9684         * modules/stdint (stdint.h): Likewise.
9685         * modules/sys_select (sys/select.h): Likewise.
9686         * modules/sys_socket (sys/socket.h): Likewise.
9687         * modules/sys_stat (sys/stat.h): Likewise.
9688         * modules/sysexits (sysexits.h): Likewise.
9689         * modules/unistd (unistd.h): Likewise.
9690         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
9691         Add a "DO NOT EDIT" comment to the generated file.
9692         (func_import): Likewise for gnulib-comp.m4.
9693
9694 2006-10-07  Bruno Haible  <bruno@clisp.org>
9695
9696         * lib/gl_sublist.h: New file.
9697         * lib/gl_sublist.c: New file.
9698
9699 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
9700
9701         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
9702         name (relative to the original working directory) and the file
9703         name component (relative to the temporary working directory).  All
9704         callers changed.
9705         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
9706         * lib/mkdir-p.c (make_dir_parents): Likewise.
9707         * lib/mkdir-p.h (make_dir_parents): Likewise.
9708
9709 2006-10-06  Eric Blake  <ebb9@byu.net>
9710
9711         Define several macros for use by the clean-temp module.
9712         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
9713         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
9714         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
9715
9716         * lib/clean-temp.h (close_stream_temp): New declaration.
9717         * lib/clean-temp.c (includes): Pull in headers according to what
9718         other modules are in use.
9719         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
9720
9721 2006-10-06  Bruno Haible  <bruno@clisp.org>
9722
9723         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
9724         instead of fopen, fwriteerror.
9725
9726 2006-10-06  Bruno Haible  <bruno@clisp.org>
9727
9728         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
9729         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
9730         int.
9731         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
9732         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
9733         Return an error indicator.
9734         Suggested by Eric Blake.
9735
9736 2006-10-06  Bruno Haible  <bruno@clisp.org>
9737
9738         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
9739         Reported by Eric Blake.
9740
9741 2006-10-06  Bruno Haible  <bruno@clisp.org>
9742
9743         * modules/closeout (Description): Mention stderr too.
9744
9745 2006-10-06  Bruno Haible  <bruno@clisp.org>
9746         and Paul Eggert  <eggert@cs.ucla.edu>
9747
9748         * lib/closeout.c (close_stdout): Also close stderr.
9749         * lib/closeout.h: Update comment.
9750
9751 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
9752
9753         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
9754         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
9755         * lib/dirchownmod.c: Include lchown.h.
9756         * lib/lchown.c: Don't include files that lchown.h now includes.
9757         Don't declare chown, since lchown.h now does that.
9758         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
9759         (lchown): Define to rpl_chown if lchown is declared but
9760         does not exist.  Declare using a prototype if lchown is not
9761         declared.  Add a copyright notice.
9762         * lib/mkstemp.h: Include <unistd.h>.
9763         * lib/openat.c: Include lchown.h.
9764
9765         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
9766         we now test for that separately.
9767         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
9768         rather than O_NOFOLLOW, when testing whether it's possible to
9769         avoid a race condition reliably.
9770         * lib/savewd.c (savewd_chdir): Likewise.
9771
9772         Remove macros that are no longer needed now that stdint.h is
9773         reliable.
9774         * lib/fsusage.c (UINTMAX_MAX): Remove.
9775         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
9776         * lib/utimecmp.c (SIZE_MAX): Remove.
9777
9778         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
9779
9780         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
9781         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
9782         O_NOATIME works.
9783
9784 2006-10-05  Bruno Haible  <bruno@clisp.org>
9785
9786         * lib/gl_list.h (gl_sortedlist_search_from_to,
9787         gl_sortedlist_indexof_from_to): New declarations.
9788         (gl_list_implementation): New fields sortedlist_search_from_to,
9789         sortedlist_indexof_from_to.
9790         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
9791         inline functions.
9792         * lib/gl_list.c (gl_sortedlist_search_from_to,
9793         gl_sortedlist_indexof_from_to): New functions.
9794         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
9795         function.
9796         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
9797         (gl_array_sortedlist_search_from_to): New function.
9798         (gl_array_list_implementation): Update.
9799         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
9800         function.
9801         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
9802         (gl_carray_sortedlist_search_from_to): New function.
9803         (gl_carray_list_implementation): Update.
9804         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
9805         gl_linked_sortedlist_indexof_from_to): New functions.
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_list2.h (gl_tree_sortedlist_search_from_to,
9809         gl_tree_sortedlist_indexof_from_to): New functions.
9810         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
9811         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
9812         Update.
9813         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
9814         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
9815         Update.
9816
9817 2006-10-05  Bruno Haible  <bruno@clisp.org>
9818
9819         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
9820         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
9821         (struct gl_list_implementation): Add fields search_from_to,
9822         indexof_from_to. Remove fields search, indexof.
9823         (gl_list_search): Use the search_from_to method.
9824         (gl_list_search_from, gl_list_search_from_to): New functions.
9825         (gl_list_indexof): Use the indexof_from_to method.
9826         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
9827         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
9828         (gl_list_search_from, gl_list_search_from_to): New functions.
9829         (gl_list_indexof): Use the indexof_from_to method.
9830         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
9831         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
9832         gl_array_indexof. Add start_index, end_index arguments.
9833         (gl_array_search_from_to): Renamed from gl_array_search. Add
9834         start_index, end_index arguments.
9835         (gl_array_remove, gl_array_list_implementation): Update.
9836         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
9837         gl_carray_indexof. Add start_index, end_index arguments.
9838         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
9839         start_index, end_index arguments.
9840         (gl_carray_remove, gl_carray_list_implementation): Update.
9841         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
9842         gl_linked_search. Add start_index, end_index arguments.
9843         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
9844         start_index, end_index arguments.
9845         (gl_linked_remove): Update.
9846         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
9847         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
9848         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
9849         field to 'size_t'.
9850         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
9851         gl_tree_search. Add start_index, end_index arguments.
9852         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
9853         start_index, end_index arguments.
9854         (gl_tree_remove): Update.
9855         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
9856         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
9857         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
9858         function.
9859         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
9860         gl_tree_search. Add start_index, end_index arguments.
9861         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
9862         start_index, end_index arguments.
9863         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
9864         Update.
9865         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
9866
9867 2006-10-05  Bruno Haible  <bruno@clisp.org>
9868
9869         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
9870
9871         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
9872         fwriteerror_temp): New declarations.
9873         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
9874         (descriptors): New variable.
9875         (cleanup): First, close the descriptors.
9876         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
9877         fclose_temp, fwriteerror_temp): New functions.
9878
9879 2006-10-04  Jim Meyering  <jim@meyering.net>
9880
9881         * lib/fts.c (fts_open): Tiny comment change.
9882
9883 2006-10-04  Bruno Haible  <bruno@clisp.org>
9884
9885         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
9886         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
9887         gl_LOCK_BODY.
9888         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
9889         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
9890         gl_LOCK_EARLY_BODY.
9891         (gl_LOCK): Require gl_LOCK_BODY.
9892
9893 2006-10-04  Bruno Haible  <bruno@clisp.org>
9894
9895         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
9896         (gl_oset_search_atleast): New declaration.
9897         (struct gl_oset_implementation): Add field 'search_atleast'.
9898         (gl_oset_search_atleast): New inline function.
9899         * lib/gl_oset.c (gl_oset_search_atleast): New function.
9900         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
9901         (gl_array_oset_implementation): Update.
9902         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
9903         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
9904         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
9905
9906 2006-10-04  Bruno Haible  <bruno@clisp.org>
9907
9908         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
9909
9910 2006-10-03  Bruno Haible  <bruno@clisp.org>
9911
9912         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
9913         from gl_avltreehash_list_implementation.
9914
9915 2006-10-03  Bruno Haible  <bruno@clisp.org>
9916
9917         * lib/gl_oset.c (gl_oset_add): Fix return type.
9918
9919 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
9920
9921         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
9922
9923 2006-10-02  Eric Blake  <ebb9@byu.net>
9924
9925         * modules/strnlen (Depends-on): Add extensions.
9926
9927 2006-10-02  Eric Blake  <ebb9@byu.net>
9928
9929         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
9930         definition in 2.60+.
9931
9932 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
9933
9934         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
9935         checks.
9936
9937 2006-10-02  Bruno Haible  <bruno@clisp.org>
9938
9939         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
9940         to the AUTOMAKE_OPTIONS.
9941         Reported by Jim Meyering.
9942
9943 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
9944
9945         Work around bug in Solaris 10 /proc file system:
9946         /proc/self/fd/NNN/.. isn't the parent directory of
9947         the directory whose file descriptor is NNN.  This needs to
9948         be worked around at run time, not compile time, since a
9949         program might be built on Solaris 8, where things work, and
9950         run on Solaris 10.
9951         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
9952         to use the following interface instead:
9953         (OPENAT_BUFFER_SIZE): New macro.
9954         (openat_proc_name): New function.
9955         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
9956         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
9957         Likewise.
9958         * lib/openat-proc.c: New file.
9959         * modules/openat (Files): Add lib/openat-proc.c.
9960         (Depends-on): Add same-inode, stdbool.
9961         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
9962
9963 2006-09-29  Bruno Haible  <bruno@clisp.org>
9964
9965         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
9966         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
9967         argument. Set stdout_closed before testing for ferror, not after.
9968         (fwriteerror, fwriteerror_no_ebadf): New functions.
9969
9970 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9971
9972         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
9973
9974 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
9975
9976         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
9977         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
9978
9979 2006-09-28  Jim Meyering  <jim@meyering.net>
9980
9981         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
9982         Include <unistd.h>.
9983
9984 2006-09-28  Bruno Haible  <bruno@clisp.org>
9985
9986         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
9987         * modules/linkedhash-list (Depends-on): Likewise.
9988         * modules/rbtreehash-list (Depends-on): Likewise.
9989
9990 2006-09-28  Bruno Haible  <bruno@clisp.org>
9991
9992         * lib/strndup.h: Simplify the redefinition of strndup.
9993         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
9994         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
9995
9996 2006-09-28  Bruno Haible  <bruno@clisp.org>
9997
9998         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
9999         * lib/gl_linkedhash_list.c: Likewise.
10000         * lib/gl_rbtreehash_list.c: Likewise.
10001
10002 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
10003
10004         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
10005         getaddrinfo.
10006
10007         * lib/__fpending.h: Don't include <stdio_ext.h> unless
10008         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
10009         it causes <stdio_ext.h> to cause a compile-time error.
10010         Problem reported by Nelson H. F. Beebe.
10011         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
10012         of HAVE_DECL___PENDING.
10013
10014         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
10015         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
10016         declaration.
10017
10018 2006-09-27  Jim Meyering  <jim@meyering.net>
10019
10020         This file could end up with a definition for a function
10021         named __strndup, rather than rpl_strndup on a system with
10022         incomplete weak_alias support.
10023         * lib/strndup.c (strndup): Rename from __strndup.
10024         Remove #defines that used to map __strndup to strndup.
10025         Don't use K&R prototypes.
10026         Remove LIBC-related code, since this file is not sync'd with glibc.
10027         * lib/strndup.h: Revamp, accordingly.
10028         * m4/strndup.m4: Modernize.
10029
10030 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
10031
10032         * modules/savewd (Depends-on): Add 'raise'.
10033         * lib/savewd.c: Include <signal.h>, for 'raise'.
10034
10035 2006-09-26  Jim Meyering  <jim@meyering.net>
10036
10037         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
10038         when we detect Darwin 8.7.0's acl_get_file bug.
10039         Rearrange to perform the new (below) run-test while $LIBS
10040         contains any acl-related library.  Set USE_ACL at the end.
10041         (gl_ACL_GET_FILE): New function.
10042
10043 2006-09-26  Eric Blake  <ebb9@byu.net>
10044
10045         * lib/verror.c: Include <config.h> unconditionally.
10046
10047 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
10048
10049         * modules/clock-time (Maintainer): Add self.
10050         * modules/getlogin_r (Depends-on): Add extensions.
10051
10052 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10053
10054         * modules/clock-time: New module.
10055         * modules/nanosleep (Depends-on): Add clock-time.
10056         * modules/gethrxtime (Depends-on): Likewise.
10057         * modules/gettime (Depends-on): Likewise.
10058         * modules/settime (Depends-on): Likewise.
10059
10060         * modules/fts-lgpl: Depend on openat.
10061         * modules/mkancesdirs: Depend on savewd.
10062         * modules/mkdir-p: Likewise.
10063
10064 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10065
10066         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
10067
10068         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
10069         `gl_have_arbitrary_file_name_length_limit' to
10070         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
10071         actually works between configure runs.
10072
10073 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10074             Bruno Haible  <bruno@clisp.org>
10075
10076         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
10077
10078 2006-09-25  Jim Meyering  <jim@meyering.net>
10079
10080         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
10081         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
10082
10083 2006-09-25  Eric Blake  <ebb9@byu.net>
10084
10085         * gnulib-tool (func_import, func_create_testdir): Fix typos in
10086         exec's in 2006-09-18 patch when shuffling fds.
10087
10088 2006-09-25  Bruno Haible  <bruno@clisp.org>
10089
10090         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
10091         Reported by Jim Meyering.
10092
10093 2006-09-24  Jim Meyering  <jim@meyering.net>
10094
10095         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
10096         compare a pointer against a literal "0".  That caused failures with
10097         at least HP-UX's hpcc.
10098
10099 2006-09-22  Simon Josefsson  <jas@extundo.com>
10100
10101         * modules/gc-sha1:
10102         * modules/gc-md4:
10103         * modules/gc-hmac-sha1:
10104         * modules/gc-hmac-md5:
10105         * modules/gc-des:
10106         * modules/gc-arcfour: Distribute more files.
10107
10108 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10109
10110         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
10111         (gl_linked_iterator_from_to): Initialize struct completely.
10112         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
10113         (gl_tree_iterator_from_to): Likewise
10114         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
10115         * lib/gl_array_list.c [lint] (gl_array_iterator)
10116         (gl_array_iterator_from_to): Likewise.
10117         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
10118         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
10119         (gl_carray_iterator_from_to): Likewise.
10120
10121         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
10122         * lib/md4.c (md4_process_block): Remove unused variable.
10123         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
10124         parentheses for clarity.
10125
10126 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10127
10128         * modules/bison-i18n (Depends-on): Add gettext.
10129
10130 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10131
10132         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
10133         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
10134         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
10135         also add missing comma that caused broken test.
10136         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
10137         stdlib.h, for `abort'.
10138         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
10139         variables.
10140         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
10141         include unistd.h if present, for `rmdir'.
10142         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
10143         variables.
10144         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
10145         in the process include standard headers for prototypes.
10146         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
10147         gets declared on GNU/Linux.
10148         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
10149         unistd.h, for `rmdir'.
10150         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
10151
10152         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
10153         always true.
10154         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
10155
10156         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
10157
10158 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10159
10160         * gnulib-tool (func_version): Create output all at once.  This
10161         may help avoid triggering unnecessary SIGPIPEs, and at any
10162         rate it doesn't hurt.
10163
10164 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10165             Bruno Haible  <bruno@clisp.org>
10166
10167         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
10168         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
10169         * m4/signed.m4 (bh_C_SIGNED): Likewise.
10170
10171         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
10172         (gl_FUNC_VASPRINTF): Invoke it.
10173
10174 2006-09-22  Bruno Haible  <bruno@clisp.org>
10175
10176         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
10177         getloadavg.c as first argument.
10178
10179 2006-09-22  Bruno Haible  <bruno@clisp.org>
10180
10181         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
10182         at the beginning of the gl_INIT macro.
10183         * modules/getloadavg (configure.ac): Pass $gl_source_base to
10184         gl_GETLOADAVG.
10185
10186 2006-09-22  Bruno Haible  <bruno@clisp.org>
10187
10188         * gnulib-tool (func_create_megatestdir): Don't include the config-h
10189         module.
10190         Suggested by Ralf Wildenhues.
10191
10192 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
10193
10194         Import this patch from libc:
10195
10196         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
10197
10198         * lib/regex_internal.c (re_string_reconstruct): Handle
10199         offset < pstr->valid_raw_len && pstr->offsets_needed case.
10200         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
10201         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
10202         re_string_context_at.
10203
10204         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
10205         now requires it.
10206         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
10207         gl_REGEX now does it for us.
10208         (gl_REGEX): Add test taken from
10209         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
10210
10211         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
10212         Check that large offsets work.  Modernize Autoconf usages.
10213         Prefer "yes" to mean a good thing rather than a bad.
10214         Don't put "#define mkstemp" in config.h, as this might interfere
10215         with standard system headers that "#define mkstemp mkstemp64".
10216
10217         * modules/mkstemp (Depends-on): Add extensions, so that
10218         mkstemp is visible on some platforms.
10219         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
10220         (Include): Change to "mkstemp.h" from <stdlib.h>.
10221         (Files): Add mkstemp.h.
10222
10223         * lib/mkstemp.h: New file, since some standard headers
10224         #define mkstemp.
10225         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
10226         Include "mkstemp.h".
10227         Make the _LIBC code resemble glibc original more,
10228         e.g., use K&R style.
10229         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
10230         (mkstemp): Remove, since mkstemp.h does this for us.
10231         * lib/stdlib--.h: Include mkstemp.h.
10232
10233         Import this patch from libc:
10234
10235         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
10236
10237         * lib/tempname.c (__gen_tempname): Change attempts_min
10238         into a macro.  Use preprocessor to decide how to initialize
10239         attempts [Coverity CID 67].
10240
10241 2006-09-20  Bruno Haible  <bruno@clisp.org>
10242
10243         * lib/mkdtemp.c: Import from libc.
10244         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
10245                 * sysdeps/posix/tempname.c (__gen_tempname): Change
10246                 attempts_min into a macro.  Use preprocessor to decide how to
10247                 initialize attempts [Coverity CID 67].
10248         2001-11-27  Paul Eggert  <eggert@twinsun.com>
10249                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
10250                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
10251
10252 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10253
10254         * gnulib-tool (func_exit): New function, to allow to pass the
10255         exit status portably through the trap.  Use everywhere.
10256         (--help, --version): Signal a write error.
10257         (trap): catch SIGPIPE, for write errors.
10258         Exit at the end of the trap, with the correct exit status.
10259
10260 2006-09-19  Karl Berry  <karl@gnu.org>
10261
10262         * doc/gnulib.texi: note about the license texinfo files.
10263
10264 2006-09-19  Eric Blake  <ebb9@byu.net>
10265
10266         * gnulib-tool: Avoid space-tab.
10267
10268 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10269
10270         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
10271         that prevented coreutils 6.1 from building.  Problem reported
10272         by Petter Reinholdtsen.
10273
10274 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10275
10276         * gnulib-tool (avoidlist): Fix typo that broke options like
10277         --avoid=lock that are used by coreutils bootstrap.
10278
10279 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
10280
10281         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
10282         more systematically.
10283
10284 2006-09-18  Jim Meyering  <jim@meyering.net>
10285
10286         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
10287
10288 2006-09-18  Bruno Haible  <bruno@clisp.org>
10289
10290         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
10291
10292 2006-09-18  Bruno Haible  <bruno@clisp.org>
10293
10294         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
10295         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
10296         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
10297         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
10298         * m4/gettext.m4: Require autoconf >= 2.52.
10299         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
10300         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
10301         of gl_cv_header_inttypes_h.
10302
10303 2006-09-18  Bruno Haible  <bruno@clisp.org>
10304
10305         * lib/javaversion.c: Include configmake.h.
10306
10307 2006-09-18  Bruno Haible  <bruno@clisp.org>
10308
10309         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
10310         avoid that the while loops be executed in a subshell.
10311
10312 2006-09-18  Bruno Haible  <bruno@clisp.org>
10313
10314         * MODULES.html.sh (func_module): Break long lines.
10315         Suggested by Bruce Korb <bkorb@gnu.org>.
10316
10317 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10318
10319         Speed up by a factor of 1.12.
10320         * gnulib-tool (nl): New variable.
10321         (func_import): Rewrite include directive extraction to only read each
10322         directive once.
10323
10324 2006-09-17  Bruno Haible  <bruno@clisp.org>
10325
10326         * modules/javaversion (Makefile.am): Remove DEFS setting.
10327         (Depends-on): Add configmake, for PKGDATADIR definition.
10328
10329 2006-09-17  Bruno Haible  <bruno@clisp.org>
10330
10331         * gnulib-tool (func_create_testdir): Rewrite all files at once.
10332
10333 2006-09-17  Bruno Haible  <bruno@clisp.org>
10334
10335         * gnulib-tool (func_append): New function, stolen from libtool.m4.
10336         (func_modules_transitive_closure, func_modules_add_dummy,
10337         func_modules_to_filelist, func_import, func_create_testdir,
10338         func_create_megatestdir, ...): Use it wherever possible.
10339         Suggested by Ralf Wildenhues.
10340
10341 2006-09-16  Karl Berry  <karl@gnu.org>
10342
10343         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
10344         to avoid sectioning errors.
10345         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
10346         [ifinfo]: blank line after @center-ed titles.
10347         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
10348         Spell FSF address consistently with others.
10349         (These changes approved by rms.)
10350
10351 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10352
10353         Speed up by a factor of 1.61.
10354         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
10355         already checked module names again.
10356
10357 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10358
10359         Speed up by a factor of 1.13.
10360         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
10361         for new_files, and the input to func_add_or_update.
10362
10363 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10364
10365         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
10366         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
10367
10368 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
10369
10370         * modules/mkancesdirs (Depends-on): Add fcntl.
10371         * modules/savewd: New file.
10372         * MODULES.html.sh (File system functions): Add savewd.
10373
10374         * modules/configmake (Makefile.am): Add support for the
10375         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
10376
10377 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
10378
10379         * m4/savewd.m4: New file.
10380
10381 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
10382
10383         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
10384         (dirchownmod): New arg FD.  All callers changed.
10385         Use FD rather than opening the directory ourself, as opening is
10386         now the caller's responsibility.
10387         * lib/dirchownmod.h: Likewise.
10388         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
10389         hosts that require <sys/types.h> before <sys/stat.h>.  Include
10390         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
10391         (test_dir): Remove.
10392         (mkancesdirs): Return length of prefix of FILE that has already
10393         been made, or -2 if there is a child doing the work.  Redo
10394         algorithm so that it is O(N) rather than O(N**2).  Optimize away
10395         ".", and treat ".." specially since it might stray back into
10396         already-created areas.  Use a subprocess if necessary.  New arg
10397         WD; all users changed.  MAKE_DIR function should now return 1
10398         if it creates a directory that is not readable.  Return -2 if
10399         a child process is spun off.
10400         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
10401         Adjust signature to match code.
10402         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
10403         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
10404         all users changed.
10405         * lib/savewd.c, lib/savewd.h: New files.
10406
10407 2006-09-15  Jim Meyering  <jim@meyering.net>
10408
10409         * modules/rename-dest-slash: New module.
10410         * MODULES.html.sh (posix_compat): Add it here.
10411
10412         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
10413
10414 2006-09-15  Jim Meyering  <jim@meyering.net>
10415
10416         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
10417         file.
10418
10419         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
10420
10421 2006-09-15  Jim Meyering  <jim@meyering.net>
10422
10423         * lib/rename-dest-slash.c (has_trailing_slash): Use
10424         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
10425         (rpl_rename_dest_slash): Perform the cheaper trailing slash
10426         test before testing whether SRC is a directory.
10427         Suggestions from Bruno Haible.
10428
10429         Avoid a warning about an unused variable.
10430         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
10431         into the #ifdef block where it's used.
10432
10433         * lib/rename-dest-slash.c: New file.
10434
10435 2006-09-14  Bruno Haible  <bruno@clisp.org>
10436
10437         * lib/allocsa.c: Include <config.h> unconditionally.
10438         * lib/asnprintf.c: Likewise.
10439         * lib/asprintf.c: Likewise.
10440         * lib/c-strcasecmp.c: Likewise.
10441         * lib/c-strcasestr.c: Likewise.
10442         * lib/c-strncasecmp.c: Likewise.
10443         * lib/c-strstr.c: Likewise.
10444         * lib/classpath.c: Likewise.
10445         * lib/clean-temp.c: Likewise.
10446         * lib/concatpath.c: Likewise.
10447         * lib/copy-file.c: Likewise.
10448         * lib/csharpcomp.c: Likewise.
10449         * lib/csharpexec.c: Likewise.
10450         * lib/execute.c: Likewise.
10451         * lib/fatal-signal.c: Likewise.
10452         * lib/findprog.c: Likewise.
10453         * lib/fwriteerror.c: Likewise.
10454         * lib/gl_array_list.c: Likewise.
10455         * lib/gl_array_oset.c: Likewise.
10456         * lib/gl_avltree_list.c: Likewise.
10457         * lib/gl_avltree_oset.c: Likewise.
10458         * lib/gl_avltreehash_list.c: Likewise.
10459         * lib/gl_carray_list.c: Likewise.
10460         * lib/gl_linked_list.c: Likewise.
10461         * lib/gl_linkedhash_list.c: Likewise.
10462         * lib/gl_list.c: Likewise.
10463         * lib/gl_oset.c: Likewise.
10464         * lib/gl_rbtree_list.c: Likewise.
10465         * lib/gl_rbtree_oset.c: Likewise.
10466         * lib/gl_rbtreehash_list.c: Likewise.
10467         * lib/imaxabs.c: Likewise.
10468         * lib/imaxdiv.c: Likewise.
10469         * lib/javacomp.c: Likewise.
10470         * lib/javaexec.c: Likewise.
10471         * lib/javaversion.c: Likewise.
10472         * lib/linebreak.c: Likewise.
10473         * lib/localcharset.c: Likewise.
10474         * lib/lock.c: Likewise.
10475         * lib/mbchar.c: Likewise.
10476         * lib/mbswidth.c: Likewise.
10477         * lib/mkdtemp.c: Likewise.
10478         * lib/pipe.c: Likewise.
10479         * lib/printf-args.c: Likewise.
10480         * lib/printf-parse.c: Likewise.
10481         * lib/progname.c: Likewise.
10482         * lib/progreloc.c: Likewise.
10483         * lib/readlink.c: Likewise.
10484         * lib/sh-quote.c: Likewise.
10485         * lib/stpcpy.c: Likewise.
10486         * lib/stpncpy.c: Likewise.
10487         * lib/strcasecmp.c: Likewise.
10488         * lib/strcasestr.c: Likewise.
10489         * lib/strcspn.c: Likewise.
10490         * lib/striconv.c: Likewise.
10491         * lib/strncasecmp.c: Likewise.
10492         * lib/strnlen1.c: Likewise.
10493         * lib/strstr.c: Likewise.
10494         * lib/strtok_r.c: Likewise.
10495         * lib/tls.c: Likewise.
10496         * lib/tmpdir.c: Likewise.
10497         * lib/unicodeio.c: Likewise.
10498         * lib/unsetenv.c: Likewise.
10499         * lib/vasnprintf.c: Likewise.
10500         * lib/vasprintf.c: Likewise.
10501         * lib/wait-process.c: Likewise.
10502         * lib/xallocsa.c: Likewise.
10503         * lib/xsetenv.c: Likewise.
10504         * lib/xstriconv.c: Likewise.
10505
10506 2006-09-13  Simon Josefsson  <jas@extundo.com>
10507
10508         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
10509         that internally, suggested by Ralf Wildenhues
10510         <Ralf.Wildenhues@gmx.de>.
10511
10512 2006-09-13  Simon Josefsson  <jas@extundo.com>
10513
10514         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
10515         @LIBOBJS@.
10516         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10517
10518 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
10519
10520         * lib/_fpending.c: Include <config.h> unconditionally, since we no
10521         longer worry about uses that don't define HAVE_CONFIG_H.
10522         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
10523         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
10524         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
10525         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
10526         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
10527         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
10528         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
10529         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
10530         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
10531         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
10532         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
10533         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
10534         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
10535         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
10536         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
10537         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
10538         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
10539         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
10540         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
10541         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
10542         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
10543         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
10544         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
10545         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
10546         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
10547         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
10548         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
10549         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
10550         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
10551         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
10552         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
10553         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
10554         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
10555         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
10556         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
10557         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
10558         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
10559         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
10560         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
10561         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
10562         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
10563         Likewise.
10564
10565 2006-09-13  Eric Blake  <ebb9@byu.net>
10566
10567         * lib/getopt.c: Fix typo in last commit.
10568
10569 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
10570
10571         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
10572         dgettext.
10573
10574 2006-09-12  Jim Meyering  <jim@meyering.net>
10575
10576         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
10577         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
10578         Reported by Nelson H. F. Beebe.
10579
10580 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
10581
10582         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
10583         program_invocation_name and program_invocation_short_name are
10584         initialized.
10585         * lib/argp-namefrob.h: Move declarations of program_invocation_name
10586         and program_invocation_short_name to argp.h, so they are visible
10587         to user programs.
10588         * lib/argp.h: Likewise
10589
10590 2006-09-10  Bruno Haible  <bruno@clisp.org>
10591
10592         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
10593         m4/inttypes_h.m4, m4/uintmax_t.m4.
10594
10595 2006-09-10  Bruno Haible  <bruno@clisp.org>
10596
10597         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
10598         gl_AC_TYPE_UINTMAX_T.
10599
10600 2006-09-10  Bruno Haible  <bruno@clisp.org>
10601
10602         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
10603
10604 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
10605
10606         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
10607         convention.  Text proposed by Bruno Haible.
10608         (struct argp_option): Document the use of N_() wrappers.
10609
10610         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
10611         '\v', and translate the two parts separately, instead of feeding
10612         the whole string to gettext.  This allows to exclude
10613         '\v' from the strings visible to the translator by writing doc
10614         strings as N_("..") "\v" N_("..").
10615
10616 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
10617
10618         * config/srclist.txt: Undo latest change; the bug was fixed.
10619
10620 2006-09-09  Bruno Haible  <bruno@clisp.org>
10621
10622         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
10623         assignments if building a library without libtool.
10624         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
10625         in func_emit_lib_Makefile_am.
10626         (func_import): When building a static library libfoo.a, arrange to
10627         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
10628         (func_create_testdir): Likewise.
10629         * modules/gc (configure.ac, Makefile.am): If building statically,
10630         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
10631         * modules/iconvme (configure.ac, Makefile.am): Likewise.
10632         * modules/striconv (configure.ac, Makefile.am): Likewise.
10633         Based on a suggestion by Ralf Wildenhues.
10634
10635 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
10636
10637         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
10638         Check for unistd.h too, since Autoconf doesn't assume POSIX.
10639         Also:
10640
10641         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
10642         Add year_2050_test to catch glibc bug 2821
10643         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
10644
10645         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
10646         Prefer #ifdef to #if.
10647
10648         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
10649         Return from 'main' instead of calling 'exit'.
10650
10651 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
10652
10653         * lib/mktime.c (guess_time_tm): Fix bug where mktime
10654         returned the maximum time_t value rather than (time_t) -1.
10655         Problem originally reported by William Bardwell
10656         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
10657
10658         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
10659         Moved to here ...
10660         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
10661         ... from here.
10662
10663 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
10664
10665         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
10666         2821 is fixed.
10667
10668 2006-09-08  Jim Meyering  <jim@meyering.net>
10669
10670         Don't make generated files read-only.  That would bother too many
10671         people.  However, do retain the ability to work when targets are
10672         read-only: remove the destination and temporary files before writing
10673         them (when generated via sed or echo), or by using the -f option for
10674         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
10675         * modules/alloca-opt, modules/argz, modules/arpa_inet:
10676         * modules/byteswap, modules/configmake, modules/fcntl:
10677         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
10678         * modules/localcharset, modules/netinet_in, modules/poll:
10679         * modules/stdbool, modules/stdint, modules/sys_select:
10680         * modules/sys_socket, modules/sys_stat, modules/sysexits:
10681
10682 2006-09-08  Jim Meyering  <jim@meyering.net>
10683
10684         Avoid new build failure on FreeBSD 6.0.
10685         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
10686         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
10687         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
10688
10689 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10690
10691         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
10692
10693 2006-09-07  Jim Meyering  <jim@meyering.net>
10694
10695         Fix global typo in last change: use chmod u-w, not chmod u-x.
10696         Spotted by Paul Eggert and Bruce Korb.
10697         * modules/alloca-opt, modules/argz, modules/arpa_inet:
10698         * modules/byteswap, modules/configmake, modules/fcntl:
10699         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
10700         * modules/localcharset, modules/netinet_in, modules/poll:
10701         * modules/stdbool, modules/stdint, modules/sys_select:
10702         * modules/sys_socket, modules/sys_stat, modules/sysexits:
10703
10704 2006-09-06  Jim Meyering  <jim@meyering.net>
10705
10706         Make generated files be read-only.
10707         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
10708         Ensure that each generated file is now read-only.
10709         * modules/argz: Likewise.
10710         * modules/arpa_inet: Likewise.
10711         * modules/byteswap: Likewise.
10712         * modules/configmake: Likewise.
10713         * modules/fcntl: Likewise.
10714         * modules/fnmatch: Likewise.
10715         * modules/getopt: Likewise.
10716         * modules/glob: Likewise.
10717         * modules/inttypes: Likewise.
10718         * modules/netinet_in: Likewise.
10719         * modules/poll: Likewise.
10720         * modules/stdbool: Likewise.
10721         * modules/stdint: Likewise.
10722         * modules/sys_select: Likewise.
10723         * modules/sys_socket: Likewise.
10724         * modules/sys_stat: Likewise.
10725         * modules/sysexits: Likewise.
10726         * modules/localcharset: Same as above, but continue using temporary
10727         file named "t-$@" (why different?) rather than the "$@-t" used
10728         everywhere else.
10729
10730         * modules/sysexits (Makefile.am): Replace literal occurrences
10731         of "sysexit.h" more readable, and more consistent, "$@".
10732
10733 2006-09-06  Bruno Haible  <bruno@clisp.org>
10734
10735         * modules/striconv: New file.
10736         * modules/xstriconv: New file.
10737         * MODULES.html.sh (Internationalization functions): Add striconv,
10738         xstriconv.
10739
10740 2006-09-06  Bruno Haible  <bruno@clisp.org>
10741
10742         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
10743         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
10744         not using libtool correctly.
10745
10746 2006-09-06  Bruno Haible  <bruno@clisp.org>
10747
10748         * lib/striconv.h: New file.
10749         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
10750         iconvstring.c.
10751         * lib/xstriconv.h: New file.
10752         * lib/xstriconv.c: New file.
10753
10754 2006-09-06  Bruno Haible  <bruno@clisp.org>
10755
10756         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
10757         lib_..._LDFLAGS.
10758
10759 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10760
10761         * lib/argz_.h: Sync from Libtool.
10762
10763         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
10764                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10765
10766         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
10767
10768 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
10769
10770         * modules/trim: New file.
10771
10772 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
10773
10774         * lib/trim.h: New file.
10775         * lib/trim.c: New file.
10776
10777 2006-09-05  Bruno Haible  <bruno@clisp.org>
10778
10779         * MODULES.html.sh (String handling): Add trim.
10780
10781 2006-09-04  Karl Berry  <karl@gnu.org>
10782
10783         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
10784         until next release.
10785
10786 2006-09-03  Bruno Haible  <bruno@clisp.org>
10787
10788         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
10789         correctly.
10790
10791 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10792
10793         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
10794         not gl_GETLOADAVG.  Omit unneeded semicolons.
10795         Problems reported by Ralf Wildenhues in
10796         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
10797         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
10798         at the end, which is the usual gnulib style.
10799
10800         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
10801         of doing all the work ourselves.
10802         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
10803         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
10804
10805 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10806
10807         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
10808         Problem reported by Ralf Wildenhues in
10809         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
10810
10811         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
10812         HAVE_STRUCT_STATFS_F_FSTYPENAME.
10813
10814 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10815
10816         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
10817         yesterday's patch by changing test -n to test -z.
10818
10819 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
10820
10821         * modules/getloadavg (Files): Add m4/getloadavg.m4.
10822         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
10823         the former is now obsolescent.
10824
10825         * modules/chdir-long (Depends-on): Add fcntl.
10826
10827 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
10828
10829         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
10830         obsolescent, and programs should use gnulib instead.
10831         * m4/getloadavg.m4: New file, with contents taken from Autoconf
10832         but with prefixes changed.
10833
10834 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
10835
10836         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
10837         or stdbool.h, because they might not exist while configuring.
10838
10839         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
10840         Don't include unistd.h or limits.h; not needed, since chdir-long.h
10841         does that for us.
10842         (O_DIRECTORY): Remove.
10843
10844 2006-08-31  Eric Blake  <ebb9@byu.net>
10845
10846         * gnulib-tool: Don't let emacs change spaces to TAB.
10847
10848 2006-08-31  Bruno Haible  <bruno@clisp.org>
10849
10850         * gnulib-tool: When calling func_import more than once, do it in a
10851         subshell.
10852         Reported by Eric Blake <ebb9@byu.net>.
10853
10854 2006-08-31  Bruno Haible  <bruno@clisp.org>
10855
10856         * gnulib-tool (nl): Remove variable.
10857         (sed_transform_lib_file): Use more robust test for config-h module.
10858         (func_import): Fix typo in 2006-08-25 patch.
10859
10860 2006-08-31  Bruno Haible  <bruno@clisp.org>
10861
10862         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
10863         specified, augment Makefile.am variables instead of assigning them.
10864
10865 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
10866
10867         Work around a bug in both the Linux and SunOS 64-bit kernels:
10868         nanosleep mishandles sleeps for longer than 2**31 seconds.
10869         Problem reported by Frank v Waveren in
10870         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
10871         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
10872         Check for nanosleep bug.
10873         (LIB_NANOSLEEP): Append clock_gettime library if needed.
10874
10875 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
10876
10877         Work around a bug in both the Linux and SunOS 64-bit kernels:
10878         nanosleep mishandles sleeps for longer than 2**31 seconds.
10879         Problem reported by Frank v Waveren in
10880         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
10881         * lib/nanosleep.c (BILLION): New constant.
10882         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
10883         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
10884         implementation.
10885
10886 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
10887
10888         * modules/nanosleep (Depends-on): Add gettime.
10889
10890 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
10891         and Simon Josefsson  <jas@extundo.com>
10892         and Oskar Liljeblad  <oskar@osk.mine.nu>
10893
10894         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
10895         * gnulib-tool (func_import): New license type 'unmodifiable license
10896         text'.
10897         * modules/fdl: Use it.  Longer description.
10898         * module/gpl, module/lgpl: New files.
10899
10900 2006-08-30  Jim Meyering  <jim@meyering.net>
10901
10902         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
10903         shadowing the parameter.
10904
10905 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10906
10907         Sync from Libtool:
10908
10909         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10910
10911         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
10912         sharing with gnulib.  Report by Eric Blake.
10913
10914 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
10915
10916         * modules/isapipe: New file.
10917         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
10918
10919 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
10920
10921         * modules/configmake (Makefile.am): Add a comment, and omit
10922         the CONFIGMAKE_ prefix from generated macro names.  Suggested
10923         by Bruno Haible.
10924
10925 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
10926
10927         * m4/isapipe.m4: New file.
10928
10929 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
10930
10931         * lib/isapipe.c, lib/isapipe.h: New files.
10932
10933 2006-08-29  Jim Meyering  <jim@meyering.net>
10934
10935         * modules/configmake (Makefile.am): Make configmake.h depend on
10936         Makefile.  Otherwise, a stale configmake.h could hang around.
10937
10938 2006-08-29  Eric Blake  <ebb9@byu.net>
10939
10940         * lib/error.c (error_at_line, print_errno_message): Match libc, after
10941         resolution of upstream bug 3044.
10942
10943 2006-08-29  Bruno Haible  <bruno@clisp.org>
10944
10945         * modules/localcharset (Depends-on): Add configmake.
10946         (Makefile.am): Remove setting of LIBDIR through DEFS.
10947
10948 2006-08-29  Bruno Haible  <bruno@clisp.org>
10949
10950         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
10951         defined.
10952
10953 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
10954
10955         * modules/fcntl: New file.
10956         * modules/chdir-safer (Depends-on): Add fcntl.
10957         * modules/fts: Likewise.
10958         * modules/mkdir-p: Likewise.
10959
10960         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
10961         This undoes the most recent change, since we're now addressing the
10962         problem in a different way.
10963
10964         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
10965         into output, since the output might be called Makefile.am even
10966         if $makefile_name is something different.
10967         (func_import): Use $makefile_am rather than
10968         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
10969         empty.
10970
10971         * modules/inttypes (Files): Add m4/inttypes-h.m4.
10972
10973 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
10974
10975         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
10976         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
10977         recent change to stdint.m4, since we're now addressing the problem in a
10978         different way.
10979
10980 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
10981
10982         * m4/fcntl_h.m4: New file.
10983
10984 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
10985
10986         * lib/fcntl_.h: New file.
10987         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
10988         the fcntl module.
10989         * lib/dirchownmod.c: Likewise.
10990         * lib/fts.c: Likewise.
10991
10992         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
10993         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
10994         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
10995         just before including <inttypes.h>, to avoid circular inclusion.
10996
10997 2006-08-28  Jim Meyering  <jim@meyering.net>
10998
10999         * doc/visibility.texi: Actually read and correct the grammar of the
11000         sentence affected by yesterday's change.
11001
11002 2006-08-28  Eric Blake  <ebb9@byu.net>
11003
11004         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
11005         needs wrapper.
11006
11007 2006-08-28  Eric Blake  <ebb9@byu.net>
11008
11009         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
11010
11011 2006-08-28  Eric Blake  <ebb9@byu.net>
11012
11013         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
11014
11015 2006-08-28  Bruno Haible  <bruno@clisp.org>
11016
11017         * modules/c-strstr: New file, from GNU gettext.
11018         * MODULES.html.sh (String handling): Add c-strstr.
11019
11020 2006-08-28  Bruno Haible  <bruno@clisp.org>
11021
11022         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
11023         macros.
11024         Reported by Eric Blake.
11025
11026 2006-08-28  Bruno Haible  <bruno@clisp.org>
11027
11028         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
11029         (VASNPRINTF): Return a string of length > INT_MAX without failing.
11030         * lib/vasprintf.c: Include errno.h, limits.h.
11031         (EOVERFLOW): New fallback definition.
11032         (vasprintf): Test here whether the string length is > INT_MAX.
11033         * lib/vsnprintf.c: Include errno.h, limits.h.
11034         (EOVERFLOW): New fallback definition.
11035         (vsnprintf): Fix bug when generated string was too long for the buffer.
11036         Test here whether the string length is > INT_MAX.
11037
11038 2006-08-28  Bruno Haible  <bruno@clisp.org>
11039
11040         * lib/inttypes_.h (SCNX*): Remove definitions.
11041         Reported by Eric Blake.
11042
11043 2006-08-28  Bruno Haible  <bruno@clisp.org>
11044
11045         * lib/c-strstr.h: New file, from GNU gettext.
11046         * lib/c-strstr.c: New file, from GNU gettext.
11047
11048 2006-08-28  Bruno Haible  <bruno@clisp.org>
11049
11050         * gnulib-tool: Reorder some statements.
11051
11052 2006-08-28  Bruno Haible  <bruno@clisp.org>
11053
11054         * gnulib-tool: New option --makefile-name.
11055         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
11056         $makefile_name.
11057         (func_import): Write $makefile_name to the cache file, and read it from
11058         there unless explicitly specified. Use $makefile_name as file name
11059         instead of Makefile.am. Adjust the recommendations accordingly.
11060
11061 2006-08-28  Bruno Haible  <bruno@clisp.org>
11062
11063         * gnulib-tool (func_verify_module): Check against misapplying patch.
11064
11065 2006-08-28  Bruno Haible  <bruno@clisp.org>
11066
11067         * gnulib-tool (func_relativize, func_relconcat): New functions.
11068         Give an error if --local-dir is given with --update.
11069         Remove trailing slashes from $local_gnulib_dir.
11070         (func_import): Store the relativized $local_gnulib_dir in
11071         gnulib-cache.m4, and read it from there if not specified explicitly.
11072
11073 2006-08-28  Bruno Haible  <bruno@clisp.org>
11074
11075         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
11076         is the current directory. Respect also $local_gnulib_dir.
11077
11078 2006-08-28  Bruno Haible  <bruno@clisp.org>
11079             Simon Josefsson  <jas@extundo.com>
11080
11081         BeOS portability.
11082         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
11083
11084 2006-08-27  Jim Meyering  <jim@meyering.net>
11085
11086         * doc/visibility.texi: Remove duplicate word: "pointer".
11087
11088 2006-08-26  Bruno Haible  <bruno@clisp.org>
11089
11090         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
11091         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
11092         (Makefile.am): Create inttypes.h from inttypes_.h.
11093         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
11094
11095         * modules/imaxabs: New file.
11096
11097         * modules/imaxdiv: New file.
11098
11099 2006-08-26  Bruno Haible  <bruno@clisp.org>
11100
11101         * m4/inttypes.m4: New file.
11102         * m4/_inttypes_h.m4: Remove file.
11103         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
11104         PRI_MACROS_BROKEN.
11105         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
11106
11107         * m4/imaxabs.m4: New file.
11108
11109         * m4/imaxdiv.m4: New file.
11110
11111 2006-08-26  Bruno Haible  <bruno@clisp.org>
11112
11113         * lib/inttypes_.h: New file.
11114         * lib/inttypes.h: Remove file.
11115         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
11116
11117         * lib/imaxabs.c: New file.
11118
11119         * lib/imaxdiv.c: New file.
11120
11121 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11122
11123         New config-h module, so that "make" output needn't be cluttered
11124         by -DHAVE_CONFIG_H.
11125         * MODULES.html.sh (Support for building libraries and executables):
11126         Add config-h.
11127         * modules/config-h: New file.
11128         * gnulib-tool (nl, sed_transform_lib_file): New vars.
11129         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
11130         the config-h module is used.
11131
11132         New configmake module, so that "make" output needn't be cluttered
11133         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
11134         * MODULES.html.sh (Support for building libraries and executables):
11135         Add configmake.
11136         * modules/configmake: New file.
11137
11138 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11139
11140         * m4/config-h.m4: New file.
11141
11142 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11143
11144         * config/srclist.txt: Add elisp-comp.
11145
11146 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11147
11148         * MODULES.html.sh (Support for building libraries and executables):
11149         Add elisp-comp.
11150         * build-aux/elisp-comp: New file.
11151         * modules/elisp-comp: New file.
11152
11153 2006-08-24  Bruno Haible  <bruno@clisp.org>
11154
11155         * gnulib-tool (func_create_testdir): Use non-default values of
11156         sourcebase and m4base.
11157
11158 2006-08-24  Bruno Haible  <bruno@clisp.org>
11159
11160         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
11161         HTML structure.
11162
11163 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
11164
11165         * modules/openat (Depends-on): Add lchown.
11166
11167 2006-08-23  Bruno Haible  <bruno@clisp.org>
11168
11169         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
11170         of gl_LOCK_EARLY instead of gl_LOCK.
11171
11172 2006-08-23  Bruno Haible  <bruno@clisp.org>
11173
11174         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
11175         on OSF/1 to no.
11176         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
11177
11178 2006-08-23  Bruno Haible  <bruno@clisp.org>
11179
11180         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
11181         as unusable.
11182
11183         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
11184         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
11185         (gl_LOCK): New macro.
11186
11187 2006-08-22  Simon Josefsson  <jas@extundo.com>
11188
11189         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
11190         to md5 module.
11191
11192 2006-08-22  Simon Josefsson  <jas@extundo.com>
11193
11194         * MODULES.html.sh: Add "Support for maintaining and release
11195         projects".
11196
11197         * build-aux/gnupload: New file, from coreutils.
11198
11199 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
11200
11201         Avoid the need for AC_LIBSOURCES in m4 macros.
11202         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
11203         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
11204         * modules/check-version (EXTRA_DIST): Add check-version.h.
11205         * modules/crc (EXTRA_DIST): Add crc.h.
11206         * modules/des (EXTRA_DIST): Add des.h.
11207         * modules/gc (EXTRA_DIST): Add gc.h.
11208         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
11209         * modules/getline (EXTRA_DIST): Add getline.h.
11210         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
11211         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
11212         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
11213         * modules/md2 (EXTRA_DIST): Add md2.h.
11214         * modules/md4 (EXTRA_DIST): Add md4.h.
11215         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
11216         * modules/read-file (EXTRA_DIST): Add read-file.h.
11217         * modules/readline (EXTRA_DIST): Add readline.h.
11218         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
11219         rijndael-api-fst.h.
11220
11221 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
11222
11223         * m4/rijndael.m4 (gl_ARCFOUR):
11224         * m4/arctwo.m4 (gl_ARCTWO):
11225         * m4/check-version.m4 (gl_CHECK_VERSION):
11226         * m4/crc.m4 (gl_CRC):
11227         * m4/des.m4 (gl_DES):
11228         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
11229         * m4/gc.m4 (gl_GC):
11230         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
11231         * m4/getline.m4 (gl_FUNC_GETLINE):
11232         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
11233         * m4/hmac-md5.m4 (gl_HMAC_MD5):
11234         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
11235         * m4/md2.m4 (gl_MD2):
11236         * m4/md4.m4 (gl_MD4):
11237         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
11238         * m4/read-file.m4 (gl_FUNC_READ_FILE):
11239         * m4/readline.m4 (gl_FUNC_READLINE):
11240         * m4/rijndael.m4 (gl_RIJNDAEL):
11241         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
11242         to get the necessary .h files and whatnot.
11243
11244 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
11245
11246         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
11247         gnulib rather than the other way around.
11248         * config/srclistvars.sh (COREUTILS): Remove.
11249
11250 2006-08-22  Jim Meyering  <jim@meyering.net>
11251
11252         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
11253
11254         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
11255
11256 2006-08-22  Eric Blake  <ebb9@byu.net>
11257
11258         * modules/regexprops-generic: New file.
11259         * MODULES.html.sh (Support for building documentation): List it.
11260
11261 2006-08-22  Eric Blake  <ebb9@byu.net>
11262
11263         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
11264         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
11265         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
11266         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
11267
11268 2006-08-22  Bruno Haible  <bruno@clisp.org>
11269
11270         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
11271         and lib_LTLIBRARIES like the other lib_* variables.
11272
11273 2006-08-22  Bruno Haible  <bruno@clisp.org>
11274
11275         * build-aux/x-to-1.in: New file, from GNU gettext.
11276
11277 2006-08-22  Bruno Haible  <bruno@clisp.org>
11278
11279         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
11280         <utmpx.h> exists.
11281
11282 2006-08-22  Bruno Haible  <bruno@clisp.org>
11283
11284         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
11285         <utmpx.h> exists.
11286
11287 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
11288
11289         BeOS portability.
11290         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
11291         exist.
11292         Problem reported by Bruno Haible.
11293
11294 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
11295
11296         Avoid the need for AC_LIBSOURCES in m4 macros.
11297         * modules/acl (EXTRA_DIST): Add acl.h.
11298         * modules/argmatch (Files): Add m4/argmatch.m4.
11299         (configure.ac): Add gl_ARGMATCH.
11300         (EXTRA_DIST): Renamed from lib_SOURCES, for
11301         consistency with the other modules.  Remove argmatch.c.
11302         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
11303         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
11304         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
11305         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
11306         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
11307         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
11308         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
11309         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
11310         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
11311         * modules/closeout (EXTRA_DIST): Add closeout.h.
11312         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
11313         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
11314         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
11315         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
11316         dirname.h; remove basename.c and stripslash.c.
11317         * modules/exclude (EXTRA_DIST): Add exclude.h.
11318         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
11319         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
11320         * modules/file-type (EXTRA_DIST): Add file-type.h.
11321         * modules/filemode (EXTRA_DIST): Add filemode.h.
11322         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
11323         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
11324         * modules/fpending (EXTRA_DIST): Add __fpending.h.
11325         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
11326         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
11327         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
11328         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
11329         * modules/getdate (EXTRA_DIST): Add getdate.c.
11330         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
11331         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
11332         * modules/getpass (EXTRA_DIST): Add getpass.h.
11333         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
11334         * modules/group-member (EXTRA_DIST): Add group-member.h.
11335         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
11336         * modules/hash (EXTRA_DIST): Add hash.h.
11337         * modules/human (EXTRA_DIST): Add human.h.
11338         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
11339         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
11340         * modules/lchown (EXTRA_DIST): Add lchown.h.
11341         * modules/long-options (EXTRA_DIST): Add long-options.h.
11342         * modules/lstat (EXTRA_DIST): Add lstat.h.
11343         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
11344         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
11345         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
11346         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
11347         * modules/memxor (EXTRA_DIST): Add memxor.h.
11348         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
11349         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
11350         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
11351         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
11352         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
11353         * modules/physmem (EXTRA_DIST): Add physmem.h.
11354         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
11355         * modules/posixver (EXTRA_DIST): Add posixver.h.
11356         * modules/quote (EXTRA_DIST): Add quote.h.
11357         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
11358         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
11359         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
11360         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
11361         regex_internal.h regexec.c.
11362         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
11363         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
11364         * modules/same (EXTRA_DIST): Add same.h.
11365         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
11366         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
11367         * modules/savedir (EXTRA_DIST): Add savedir.h.
11368         * modules/sha1 (EXTRA_DIST): Add sha1.h.
11369         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
11370         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
11371         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
11372         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
11373         * modules/strdup (EXTRA_DIST): Add strdup.h.
11374         * modules/strftime (EXTRA_DIST): Add strftime.h.
11375         * modules/strndup (EXTRA_DIST): Add strndup.h.
11376         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
11377         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
11378         * modules/time_r (EXTRA_DIST): Add time_r.h.
11379         * modules/timespec (EXTRA_DIST): Add timespec.h.
11380         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
11381         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
11382         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
11383         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
11384         * modules/userspec (EXTRA_DIST): Add userspec.h.
11385         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
11386         * modules/utimens (EXTRA_DIST): Add utimens.h.
11387         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
11388         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
11389         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
11390         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
11391         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
11392         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
11393         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
11394         * modules/yesno (EXTRA_DIST): Add yesno.h.
11395
11396 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
11397
11398         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
11399
11400         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
11401         * m4/dev-ino.m4, same-inode.m4: Remove.
11402
11403         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
11404         * m4/acl.m4 (AC_FUNC_ACL):
11405         * m4/backupfile.m4 (gl_BACKUPFILE):
11406         * m4/c-strtod.m4 (gl_C99_STRTOLD):
11407         * m4/canon-host.m4 (gl_CANON_HOST):
11408         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
11409         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
11410         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
11411         * m4/cloexec.m4 (gl_CLOEXEC):
11412         * m4/close-stream.m4 (gl_CLOSE_STREAM):
11413         * m4/closeout.m4 (gl_CLOSEOUT):
11414         * m4/dirfd.m4 (gl_FUNC_DIRFD):
11415         * m4/dirname.m4 (gl_DIRNAME):
11416         * m4/exclude.m4 (gl_EXCLUDE):
11417         * m4/exitfail.m4 (gl_EXITFAIL):
11418         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
11419         * m4/file-type.m4 (gl_FILE_TYPE):
11420         * m4/filemode.m4 (gl_FILEMODE):
11421         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
11422         * m4/fpending.m4 (gl_FUNC_FPENDING):
11423         * m4/fprintftime.m4 (gl_FPRINTFTIME):
11424         * m4/fts.m4 (gl_FUNC_FTS):
11425         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
11426         * m4/getdate.m4 (gl_GETDATE):
11427         * m4/gethrxtime.m4 (gl_GETHRXTIME):
11428         * m4/getpagesize.m4 (gl_GETPAGESIZE):
11429         * m4/getpass.m4 (gl_FUNC_GETPASS):
11430         * m4/gettime.m4 (gl_GETTIME):
11431         * m4/getugroups.m4 (gl_GETUGROUPS):
11432         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
11433         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
11434         * m4/hard-locale.m4 (gl_HARD_LOCALE):
11435         * m4/hash.m4 (gl_HASH):
11436         * m4/idcache.m4 (gl_IDCACHE):
11437         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
11438         * m4/lchown.m4 (gl_FUNC_LCHOWN):
11439         * m4/long-options.m4 (gl_LONG_OPTIONS):
11440         * m4/lstat.m4 (gl_FUNC_LSTAT):
11441         * m4/md5.m4 (gl_MD5):
11442         * m4/memcasecmp.m4 (gl_MEMCASECMP):
11443         * m4/memcoll.m4 (gl_MEMCOLL):
11444         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
11445         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
11446         * m4/memxor.m4 (gl_MEMXOR):
11447         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
11448         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
11449         * m4/modechange.m4 (gl_MODECHANGE):
11450         * m4/mountlist.m4 (gl_MOUNTLIST):
11451         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
11452         * m4/openat.m4 (gl_FUNC_OPENAT):
11453         * m4/pathmax.m4 (gl_PATHMAX):
11454         * m4/physmem.m4 (gl_PHYSMEM):
11455         * m4/posixtm.m4 (gl_POSIXTM):
11456         * m4/posixver.m4 (gl_POSIXVER):
11457         * m4/quote.m4 (gl_QUOTE):
11458         * m4/quotearg.m4 (gl_QUOTEARG):
11459         * m4/readtokens.m4 (gl_READTOKENS):
11460         * m4/readutmp.m4 (gl_READUTMP):
11461         * m4/regex.m4 (gl_REGEX):
11462         * m4/safe-read.m4 (gl_SAFE_READ):
11463         * m4/safe-write.m4 (gl_SAFE_WRITE):
11464         * m4/same.m4 (gl_SAME):
11465         * m4/save-cwd.m4 (gl_SAVE_CWD):
11466         * m4/savedir.m4 (gl_SAVEDIR):
11467         * m4/settime.m4 (gl_SETTIME):
11468         * m4/sha1.m4 (gl_SHA1):
11469         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
11470         * m4/stat-macros.m4 (gl_STAT_MACROS):
11471         * m4/stat-time.m4 (gl_STAT_TIME):
11472         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
11473         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
11474         * m4/strdup.m4 (gl_FUNC_STRDUP):
11475         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
11476         * m4/strndup.m4 (gl_FUNC_STRNDUP):
11477         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
11478         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
11479         * m4/time_r.m4 (gl_TIME_R):
11480         * m4/timespec.m4 (gl_TIMESPEC):
11481         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
11482         * m4/unlinkdir.m4 (gl_UNLINKDIR):
11483         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
11484         * m4/userspec.m4 (gl_USERSPEC):
11485         * m4/utimecmp.m4 (gl_UTIMECMP):
11486         * m4/utimens.m4 (gl_UTIMENS):
11487         * m4/xalloc.m4 (gl_XALLOC):
11488         * m4/xgetcwd.m4 (gl_XGETCWD):
11489         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
11490         * m4/xreadlink.m4 (gl_XREADLINK):
11491         * m4/xstrtod.m4 (gl_XSTRTOD):
11492         * m4/yesno.m4 (gl_YESNO):
11493         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
11494         to get the necessary .h files and whatnot.
11495
11496 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
11497             Bruno Haible  <bruno@clisp.org>
11498
11499         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
11500         /bin/sh understanding of '!' conditional negation.
11501
11502 2006-08-21  Jim Meyering  <jim@meyering.net>
11503
11504         * modules/openat (Depends-on): Really alphabetize.
11505
11506         * modules/acl (Depends-on): Add error and quote.
11507
11508         * check-module (find_included_lib_files): Add at-func.c to the
11509         ok-to-include-more-than-once white list.
11510
11511         * modules/openat (Depends-on): Add lstat.  Alphabetize.
11512
11513 2006-08-21  Bruno Haible  <bruno@clisp.org>
11514
11515         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
11516         Emit a pkgdata_DATA variable only if some snippets add contents to it.
11517         Reported by Martin Lambers <marlam@marlam.de>.
11518
11519 2006-08-21  Bruno Haible  <bruno@clisp.org>
11520
11521         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
11522         specify an installation location, don't emit a noinst_LIBRARIES or
11523         noinst_LTLIBRARIES assignment.
11524
11525 2006-08-21  Bruno Haible  <bruno@clisp.org>
11526
11527         BeOS portability.
11528         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
11529         BeOS has mbrtowc() but no <wctype.h>.
11530
11531 2006-08-21  Bruno Haible  <bruno@clisp.org>
11532
11533         BeOS portability.
11534         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
11535         exist.
11536
11537 2006-08-21  Bruno Haible  <bruno@clisp.org>
11538
11539         BeOS portability.
11540         * lib/mbchar.h: Include <wctype.h> only if it exists.
11541
11542 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
11543
11544         Remove files that are no longer needed by their respective modules.
11545         * m4/obstack.m4: Remove.
11546         * m4/strerror_r.m4: Remove.
11547         * m4/uint32_t.m4: Remove.
11548         * m4/uintptr_t.m4: Remove.
11549         * m4/ullong_max.m4: Remove.
11550         * m4/xstrtoimax.m4: Remove.
11551         * m4/xstrtoumax.m4: Remove.
11552
11553         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
11554         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
11555         dependencies now capture this.
11556
11557         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
11558         Do not use AC_LIBSOURCES, since gnulib modules now do this.
11559         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
11560         * m4/human.m4 (gl_HUMAN): Likewise.
11561         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
11562         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
11563
11564         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
11565
11566         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
11567         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
11568         stdint.
11569         * m4/human.m4 (gl_HUMAN): Likewise.
11570         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
11571         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
11572         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
11573         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
11574         * m4/xstrtol (gl_XSTRTOL): Likewise.
11575
11576         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
11577         AC_TYPE_LONG_LONG_INT.
11578         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
11579         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
11580         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
11581         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
11582
11583         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
11584         on stdbool.
11585
11586         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
11587         (gl_PREREQ_XSTRTOUL): Remove.
11588
11589         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
11590
11591         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
11592         mode.
11593
11594 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
11595
11596         Add and change modules to make it easier for coreutils to use
11597         gnulib-tool.
11598         * modules/backupfile (Files): Remove m4/d-ino.m4.
11599         (Depends-on): Add d-ino.
11600         * modules/cycle-check (Depends-on): Add stdint.
11601         (lib_SOURCES): Add cycle-check.h.
11602         * modules/d-ino: New module.
11603         * modules/d-type: New module.
11604         * modules/error (Files): Remove m4/strerror_r.m4.
11605         * modules/filemode (Files): Add m4/st_dm_mode.m4.
11606         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
11607         m4/inttypes_h.m4, m4/uintmax_t.m4.
11608         (Depends-on): Add stdint.
11609         (lib_SOURCES): Add fsusage.h.
11610         * modules/getcwd (Files): Remove d-ino.m4.
11611         (Depends-on): Add d-ino.
11612         * modules/getndelim2 (Depends-on): Add stdint.
11613         * modules/glob (Files): Remove m4/d-type.m4.
11614         (Depends-on): Add d-type.
11615         * modules/host-os: New module.
11616         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
11617         m4/inttypes_h.m4, m4/uintmax_t.m4.
11618         * Depends-on: Add stdint.
11619         (lib_SOURCES): Add human.h.
11620         * modules/inttostr (Files): Remove m4/intmax_t.m4,
11621         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
11622         m4/uintmax_t.m4, m4/ulonglong.m4.
11623         (Depends-on): Add stdint.
11624         (EXTRA_DIST): Add inttostr.h.
11625         * modules/lchmod: New module.
11626         * modules/link-follow: New module.
11627         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
11628         (Depends-on): Add lchmod.
11629         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
11630         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
11631         (Depends-on): Add stdint.
11632         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
11633         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
11634         (Depends-on): Add stdint.
11635         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
11636         * modules/perl: New module.
11637         * modules/regex (Depends-on): Add stdint.
11638         * modules/rmdir-errno: New module.
11639         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
11640         m4/intmax_t.m4.
11641         (Depends-on): Add stdint.
11642         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
11643         m4/uintmax_t.m4.
11644         (Depends-on): Add stdint.
11645         * modules/unlink-busy: New module.
11646         * modules/utimecmp (Depends-on): Add stdint.
11647         * modules/uptime: New module.
11648         * modules/winsz-ioctl: New module.
11649         * modules/winsz-termios: New module.
11650         * modules/xnanosleep (Depends-on): Add nanosleep.
11651         * modules/ullong_max: Remove.
11652         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
11653         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
11654         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
11655         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
11656         (Depends-on): Add inttypes.
11657         (lib_SOURCES): Add xstrtol.h.
11658         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
11659         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
11660         * MODULES.html.sh: Move 'assert' into the assert section.
11661         Move 'dummy' into the linking section.
11662         Remove ullong_max.
11663         Add section for compatibility checks for POSIX:2001 functions,
11664         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
11665         winsz-ioctl, and winsz-termios into it.
11666         Add lchmod.
11667         Add top-level Misc section and put host-os, perl, and uptime
11668         into it.
11669
11670 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
11671
11672         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
11673         now assume the stdint module.  Do not include inttypes.h.
11674         * lib/fsusage.h: Likewise.
11675         * lib/getndelim2.c: Likewise.
11676         * lib/human.h: Likewise.
11677         * lib/inttostr.h: Likewise.
11678         * lib/obstack.c: Likewise.
11679         * lib/regex_internal.h: Likewise.
11680         * lib/tempname.c: Likewise.
11681         * lib/utimecmp.c: Likewise.
11682         * lib/xstrtol.h: Likewise.
11683
11684         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
11685
11686         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
11687         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
11688         * lib/xtime.h: Likewise.
11689
11690 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
11691
11692         * modules/openat (Files): Add lib/fchmodat.c.
11693         Fixes problem reported by Jay Youngman.
11694
11695 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
11696
11697         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
11698         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
11699
11700 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
11701             Bruno Haible  <bruno@clisp.org>
11702
11703         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
11704         and is a script that invokes bison. Tighten the code. Add comments.
11705
11706 2006-08-18  Jim Meyering  <jim@meyering.net>
11707
11708         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
11709         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
11710         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
11711         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
11712
11713 2006-08-18  Bruno Haible  <bruno@clisp.org>
11714
11715         * modules/bison-i18n: New file.
11716         * MODULES.html.sh (Internationalization functions): Add it.
11717
11718 2006-08-18  Bruno Haible  <bruno@clisp.org>
11719
11720         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
11721         sys/statvfs.h. When getmntinfo was found, check its declaration and
11722         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
11723
11724 2006-08-18  Bruno Haible  <bruno@clisp.org>
11725
11726         * m4/bison-i18n.m4: New file, from bison.
11727
11728 2006-08-18  Bruno Haible  <bruno@clisp.org>
11729
11730         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
11731         (ME_DUMMY): Treat "kernfs" as a dummy.
11732         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
11733
11734 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11735
11736         Update from coreutils.
11737
11738         2006-08-15  Jim Meyering  <jim@meyering.net>
11739
11740         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
11741
11742         2006-01-17  Jim Meyering  <jim@meyering.net>
11743
11744         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
11745
11746         2006-01-11  Jim Meyering  <jim@meyering.net>
11747
11748         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
11749         Check for the lchmod function.
11750
11751 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11752
11753         Update from coreutils.
11754
11755         * lib/__fpending.h: Add copyright notice.
11756         * lib/fprintftime.h: Likewise.
11757         * lib/savedir.c: Use (C) in copyright notice.
11758         * lib/savedir.h: Likewise.
11759
11760         2006-08-15  Jim Meyering  <jim@meyering.net>
11761
11762         * lib/at-func.c: New file, with the logic of all emulated at-functions.
11763         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
11764         in support of the EXPECTED_ERRNO macro.
11765         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
11766         definitions.  Instead, define the appropriate symbols and include
11767         "at-func.c".
11768         * lib/mkdirat.c (mkdirat): Likewise.
11769         * lib/fchmodat.c (fchmodat): Likewise.
11770         (ENOSYS): Remove definition.
11771         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
11772         it.  Don't include "unistd--.h" -- it wasn't ever used.
11773
11774         2006-01-17  Jim Meyering  <jim@meyering.net>
11775
11776         Rewrite fts.c not to change the current working directory,
11777         by using openat, fstatat, fdopendir, etc..
11778
11779         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
11780         (HAVE_OPENAT_SUPPORT): Define.
11781         [_LIBC] (fchdir): Don't undef or define; no longer used.
11782         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
11783         Now, this `function' always succeeds, and consumes its file descriptor
11784         parameter -- so callers must not close such FDs.  Update callers.
11785         (diropen_fd, opendirat, cwd_advance_fd): New functions.
11786         (diropen): Add parameter, SP.  Adjust all callers.
11787         Implement using diropen_fd, rather than open.
11788         (fts_open): Initialize new member, fts_cwd_fd.
11789         Remove fts_rft-setting code.
11790         (fts_close): Close fts_cwd_fd, if necessary.
11791         (__opendir2): Define in terms of opendir or opendirat,
11792         depending on whether the FST_NOCHDIR flag is set.
11793         (fts_build): Since fts_safe_changedir consumes its FD, and since
11794         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
11795         and close the dup'd file descriptor upon failure.
11796         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
11797         (fts_safe_changedir): Tweak semantics to reflect that this function
11798         now calls cwd_advance_fd and hence consumes its FD argument.
11799         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
11800         [struct FTS] (fts_rft): Remove now-unused member.
11801         [struct FTS] (fts_cycle.state): Improve comment.
11802
11803         * lib/openat.c (openat_needs_fchdir): New function.
11804         * lib/openat.h (openat_needs_fchdir): Declare it.
11805
11806 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
11807
11808         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
11809         Problem and fix reported by Pádraig Brady in
11810         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
11811
11812 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
11813
11814         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
11815
11816 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
11817
11818         * lib/memcoll.c (memcoll): Optimize for the common case where the
11819         arguments are bytewise equal.
11820
11821 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
11822
11823         * doc/regexprops-generic.texi: Add a copyright notice.
11824
11825 2006-08-15  Bruno Haible  <bruno@clisp.org>
11826
11827         * modules/tmpdir (License): Change to LGPL.
11828
11829 2006-08-15  Bruno Haible  <bruno@clisp.org>
11830
11831         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
11832         module.
11833
11834 2006-08-14  Simon Josefsson  <jas@extundo.com>
11835
11836         * config/srclist.txt: Add gnupload.
11837
11838 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
11839
11840         Change copyright notice from LGPL 2 to GPL 2, since that's the
11841         standard form used in the gnulib repository.
11842         * tests/test-lock.c: Likewise.
11843         * tests/test-stdint.c: Likewise.
11844         * tests/test-tls.c: Likewise.
11845
11846         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
11847         prelude-manager.  User shorter URLs for GNU projects, without '?'.
11848         Add copyright notice.
11849
11850         * check-module: Add copyright notice.  Output a copyright
11851         notice if "--version" is specified.
11852         * modules/COPYING: New file.
11853         * tests/test-getaddrinfo.c: Add copyright notice.
11854         * tests/test-verify.c: Likewise.
11855
11856 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
11857
11858         Change copyright notice from LGPL 2 to GPL 2, since that's the
11859         standard form used in the gnulib repository.
11860         * lib/lock.c: LGPL -> GPL.
11861         * lib/lock.h: Likewise.
11862         * lib/strnlen1.c: Likewise.
11863         * lib/strnlen1.h: Likewise.
11864         * lib/tls.c: Likewise.
11865         * lib/tls.h: Likewise.
11866         * lib/tmpdir.c: Likewise.
11867
11868         * lib/TODO: Remove; this belongs only in coreutils.
11869
11870 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
11871
11872         Add copyright notices to long-enough files that lack them, since
11873         otherwise the files aren't clearly free.  Use the same notice that
11874         getdate.texi already uses.
11875         * doc/alloca-opt.texi: Add copyright notice.
11876         * doc/alloca.texi: Likewise.
11877         * doc/ctime.texi: Likewise.
11878         * doc/functions.texi: Likewise.
11879         * doc/gcd.texi: Likewise.
11880         * doc/gnulib-tool.texi: Likewise.
11881         * doc/inet_ntoa.texi: Likewise.
11882         * doc/visibility.texi: Likewise.
11883
11884         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
11885         * doc/quote.texi: Add copyright notice.
11886
11887         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
11888         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
11889         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
11890         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
11891         is now obsolete, and give a pointer to the Sun list.
11892         Add copyright notice.
11893
11894 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
11895
11896         * config/srclistvars.sh: Add copyright notice.
11897
11898 2006-08-14  Eric Blake  <ebb9@byu.net>
11899
11900         Import the following change from libc:
11901
11902         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
11903
11904         Upstream bug 2997.
11905         * lib/misc/error.c: Add space between program name and message if file
11906         name is missing.
11907
11908 2006-08-12  Karl Berry  <karl@gnu.org>
11909
11910         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
11911         remove, these originate in gnulib now.
11912
11913 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11914
11915         * doc/Makefile (standards.info standards.html standards.dvi):
11916         Also depend on make-stds.texi.
11917
11918 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
11919
11920         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
11921         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
11922
11923         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
11924         in wchar_t.  Problem reported by Eric Blake.
11925
11926         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
11927         LEN is smaller than SIZE.  Suggested by Bruno Haible.
11928         Also, help the compiler to keep LEN in a register.
11929
11930 2006-08-11  Eric Blake  <ebb9@byu.net>
11931
11932         * users.txt: Sort.  Add tar.
11933
11934 2006-08-11  Bruno Haible  <bruno@clisp.org>
11935
11936         * users.txt: New file.
11937
11938 2006-08-11  Bruno Haible  <bruno@clisp.org>
11939
11940         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
11941         before <wchar.h>. Needed for OSF/1 and BSD/OS.
11942
11943 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
11944
11945         * modules/snprintf (Depends-on): Remove minmax.
11946         (Maintainer): Add self and Bruno.
11947
11948 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
11949
11950         * lib/.cppi-disable: Add snprintf.h, socket_.h.
11951         * lib/snprintf.c: Include <errno.h> and <limits.h>.
11952         (EOVERFLOW): Define if the system does not.
11953         Do not include "minmax.h"; it wasn't used.
11954         (snprintf): Don't assume size_t promotes to an unsigned type.
11955         Fix bug when generated string was too long for the buffer: the
11956         buffer's contents are supposed to be the initial prefix of the
11957         output.  Don't assume vasnprintf returns EOVERFLOW if the size
11958         exceeds INT_MAX; do the check ourselves.
11959
11960         Import the following changes from libc:
11961
11962         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
11963
11964         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
11965         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
11966         set wc to the byte which couldn't be converted.
11967         (re_string_reconstruct): Don't clear valid_raw_len before calling
11968         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
11969         tip_context using re_string_context_at.
11970
11971         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
11972
11973         * lib/posix/regex.h: g++ still cannot handled [restrict].
11974
11975         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
11976
11977         * lib/posix/regex.h: Remove special handling for VMS.
11978
11979 2006-08-10  Jim Meyering  <jim@meyering.net>
11980
11981         * modules/same-inode: New module.
11982         * modules/dev-ino: New module.
11983         * modules/cycle-check: Depend on these modules, rather than simply
11984         including their .h files.
11985         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
11986         required via m4/cycle-check.m4.
11987         * modules/same: Depend on new same-inode module, rather than
11988         including same-inode.h.
11989         * modules/chdir-safer: New file.
11990
11991         * modules/chown (Depends-on): Add stat-macros.
11992
11993 2006-08-10  Jim Meyering  <jim@meyering.net>
11994
11995         * m4/cycle-check.m4: New file.
11996         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
11997         * m4/dev-ino.m4, m4/same-inode.m4: New files.
11998
11999 2006-08-10  Eric Blake  <ebb9@byu.net>
12000
12001         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
12002         in from original proposal.
12003
12004 2006-08-10  Eric Blake  <ebb9@byu.net>
12005         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
12006
12007         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
12008         namespace.
12009
12010 2006-08-10  Bruno Haible  <bruno@clisp.org>
12011
12012         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
12013         as well.
12014
12015 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
12016
12017         Sync from coreutils.
12018
12019         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
12020
12021         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
12022         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
12023
12024 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
12025
12026         * modules/restrict: Remove; no longer needed now that we assume
12027         Autoconf 2.59 or later.
12028         * MODULES.html.sh: Remove 'restrict'.
12029         * modules/argp (Depends-on): Remove 'restrict'.
12030         * modules/base64 (Depends-on): Likewise.
12031         * modules/gc (Depends-on): Likewise.
12032         * modules/getaddrinfo (Depends-on): Likewise.
12033         * modules/glob (Depends-on): Likewise.
12034         * modules/inet_ntop (Depends-on): Likewise.
12035         * modules/inet_pton (Depends-on): Likewise.
12036         * modules/memxor (Depends-on): Likewise.
12037         * modules/regex (Depends-on): Likewise.
12038         * modules/strtok_r (Depends-on): Likewise.
12039         * modules/time_r (Depends-on): Likewise.
12040
12041 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
12042
12043         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
12044         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
12045         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
12046         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
12047         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
12048         * m4/memxor.m4 (gl_MEMXOR): Likewise.
12049         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
12050         gl_C_RESTRICT replaced by AC_C_RESTRICT.
12051
12052         Merge from coreutils.
12053         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
12054         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
12055         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
12056         * m4/time_r.m4 (gl_TIME_R): Likewise.
12057
12058 2006-08-09  Karl Berry  <karl@gnu.org>
12059
12060         * config/srclist.txt: no more gettext-tools, per Bruno.
12061
12062 2006-08-08  Eric Blake  <ebb9@byu.net>
12063
12064         * modules/verror: New module.
12065         * MODULES.html.sh: Document it.
12066
12067 2006-08-08  Eric Blake  <ebb9@byu.net>
12068
12069         * lib/verror.h, lib/verror.c: New files.
12070
12071 2006-08-08  Eric Blake  <ebb9@byu.net>
12072
12073         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
12074         verror_at_line output complies with GNU Coding Standards even when
12075         file is NULL.
12076
12077 2006-08-07  Bruno Haible  <bruno@clisp.org>
12078
12079         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
12080         versions of AIX.
12081         Reported by Ralf Wildenhues.
12082
12083 2006-08-07  Bruno Haible  <bruno@clisp.org>
12084
12085         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
12086         in an AC_DEFUN. Needed so that the autoconf snippets can use
12087         AC_REQUIRE.
12088
12089 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12090
12091         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12092         Initialize pkgdata_DATA.
12093         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
12094         overriding it.
12095
12096 2006-08-06  Eric Blake  <ebb9@byu.net>
12097
12098         * lib/error.h: Fold in some upstream changes from glibc.
12099         * lib/error.c: Likewise.
12100
12101 2006-08-04  Bruno Haible  <bruno@clisp.org>
12102
12103         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12104         Make the mostlyclean-local rule depend on mostlyclean-generic.
12105         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
12106
12107 2006-07-31  Bruno Haible  <bruno@clisp.org>
12108
12109         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
12110         <stdlib.h>, <string.h>.
12111
12112 2006-07-30  Bruno Haible  <bruno@clisp.org>
12113
12114         * modules/readlink (License): Change to LGPL.
12115
12116 2006-07-30  Bruno Haible  <bruno@clisp.org>
12117
12118         * modules/javaversion (Makefile.am): Distribute javaversion.java and
12119         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
12120         set PKGDATADIR to point to it.
12121
12122 2006-07-30  Bruno Haible  <bruno@clisp.org>
12123
12124         * modules/csharpexec (configure.ac): Comment out macro invocation.
12125         * modules/javaexec (configure.ac): Likewise.
12126         * modules/javacomp-script (configure.ac): Likewise.
12127
12128         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
12129
12130 2006-07-30  Bruno Haible  <bruno@clisp.org>
12131
12132         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
12133         linked-list.
12134
12135 2006-07-30  Bruno Haible  <bruno@clisp.org>
12136
12137         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
12138
12139 2006-07-30  Bruno Haible  <bruno@clisp.org>
12140
12141         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12142         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
12143         get removed.
12144
12145 2006-07-29  Bruno Haible  <bruno@clisp.org>
12146
12147         Make it possible for gnulib-tool to work with locally modified or
12148         augmented gnulib repositories.
12149         * gnulib-tool (func_usage): Document --local-dir option.
12150         (local_gnulib_dir): New variable.
12151         Handle --local-dir option.
12152         (func_lookup_file): New function.
12153         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
12154         (func_get_description, func_get_filelist, func_get_description,
12155         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
12156         func_get_automake_snippet, func_get_include_directive,
12157         func_get_license, func_get_maintainer): Use func_lookup_file.
12158         (func_import, func_create_testdir): Use func_lookup_file.
12159
12160 2006-07-29  Bruno Haible  <bruno@clisp.org>
12161
12162         * modules/setenv (Depends-on): Add unistd.
12163
12164 2006-07-29  Bruno Haible  <bruno@clisp.org>
12165
12166         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
12167
12168 2006-07-29  Bruno Haible  <bruno@clisp.org>
12169
12170         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
12171
12172 2006-07-29  Bruno Haible  <bruno@clisp.org>
12173
12174         * gnulib-tool (import, update): If there is no Makefile.am, look at
12175         aclocal.m4, instead of bailing out.
12176
12177 2006-07-29  Bruno Haible  <bruno@clisp.org>
12178
12179         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
12180         Categorize the options by when they are useful.
12181
12182 2006-07-29  Bruno Haible  <bruno@clisp.org>
12183
12184         * gnulib-tool (func_usage): Document option --no-libtool.
12185         Handle option --no-libtool.
12186         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
12187         for changed semantics of $libtool variable.
12188         (func_import): Likewise. If libtool is not used, show this through
12189         an option --no-libtool.
12190         (func_create_testdir): Update.
12191
12192 2006-07-29  Bruno Haible  <bruno@clisp.org>
12193
12194         * gnulib-tool (func_import): Extend error message about missing
12195         --doc-base.
12196
12197 2006-07-29  Bruno Haible  <bruno@clisp.org>
12198
12199         * gnulib-tool (func_import): Don't create the $docbase directory if
12200         there is no file to store there.
12201
12202 2006-07-29  Bruno Haible  <bruno@clisp.org>
12203
12204         * gnulib-tool (autoconf_minversion): If a --dir option is given and
12205         relevant, look for configure.ac there, not in the current directory.
12206         Also use a simple search for AC_PREREQ, not "autoconf --trace".
12207
12208 2006-07-29  Bruno Haible  <bruno@clisp.org>
12209
12210         * gnulib-tool (SORT): New variable.
12211         (func_usage): Undocument --assume-autoconf option.
12212         Remove --assume-autoconf option handling.
12213         (autoconf_minversion): Determine from the contents of configure.ac.
12214         (func_import): Remove autoconf_minversion handling.
12215         Suggested by Eric Blake.
12216
12217 2006-07-29  Bruno Haible  <bruno@clisp.org>
12218
12219         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
12220
12221 2006-07-29  Bruno Haible  <bruno@clisp.org>
12222
12223         * config/srclist.txt (*setenv.[ch]): Remove rules.
12224
12225 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12226
12227         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
12228
12229 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12230
12231         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
12232         arpa/inet.h.
12233
12234 2006-07-28  Simon Josefsson  <jas@extundo.com>
12235
12236         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
12237         * modules/inet_pton (Depends-on): Likewise.
12238
12239 2006-07-28  Simon Josefsson  <jas@extundo.com>
12240
12241         * m4/netinet_in_h.m4: New file.
12242
12243 2006-07-28  Simon Josefsson  <jas@extundo.com>
12244
12245         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
12246         #include's.
12247
12248 2006-07-28  Simon Josefsson  <jas@extundo.com>
12249
12250         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
12251         #include's.
12252
12253 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
12254
12255         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
12256         setgid on directories only if they set these bits.
12257         * lib/modechange.h: Remove obsolete comment about masks.
12258
12259 2006-07-28  Eric Blake  <ebb9@byu.net>
12260
12261         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
12262         macro expansion.
12263
12264 2006-07-28  Bruno Haible  <bruno@clisp.org>
12265
12266         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
12267
12268 2006-07-28  Bruno Haible  <bruno@clisp.org>
12269
12270         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
12271
12272 2006-07-28  Bruno Haible  <bruno@clisp.org>
12273
12274         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
12275         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
12276         Define fallbacks.
12277         Avoids link error on FreeBSD 4.x.
12278         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
12279
12280         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
12281         encoding.
12282         * lib/mbswidth.c (iswcntrl): Likewise.
12283
12284 2006-07-27  Bruno Haible  <bruno@clisp.org>
12285
12286         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
12287         test.
12288
12289 2006-07-27  Bruno Haible  <bruno@clisp.org>
12290
12291         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
12292         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
12293         defined.
12294
12295 2006-07-26  Eric Blake  <ebb9@byu.net>
12296
12297         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
12298
12299 2006-07-26  Eric Blake  <ebb9@byu.net>
12300
12301         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
12302         like mingw that lack mkstemp.
12303         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
12304         avoid compilation warning on mingw.
12305
12306 2006-07-26  Bruno Haible  <bruno@clisp.org>
12307
12308         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
12309         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
12310         INT_FAST*_MIN, INTPTR_MIN.
12311
12312 2006-07-25  Bruno Haible  <bruno@clisp.org>
12313
12314         * modules/version-etc (Depends-on): Add stdarg.
12315
12316 2006-07-25  Bruno Haible  <bruno@clisp.org>
12317
12318         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
12319         complex commands.
12320
12321 2006-07-25  Bruno Haible  <bruno@clisp.org>
12322
12323         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
12324         defined in <stdarg.h> or config.h.
12325
12326 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12327
12328         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
12329         (gl_STDIO_SAFER): Remove.
12330
12331 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12332
12333         * MODULES.html.sh (File stream based Input/Output):
12334         Add fopen-safer, tmpfile-safer; remove stdio-safer.
12335         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
12336         * modules/fopen-safer, modules/tmpfile-safer: New files.
12337         * modules/stdio-safer: Remove.
12338
12339 2006-07-24  Bruno Haible  <bruno@clisp.org>
12340
12341         * modules/tmpdir: New file.
12342         * MODULES.html.sh (File system functions): Add it.
12343
12344 2006-07-24  Bruno Haible  <bruno@clisp.org>
12345
12346         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
12347         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
12348
12349 2006-07-24  Bruno Haible  <bruno@clisp.org>
12350
12351         * modules/clean-temp: New file.
12352
12353 2006-07-24  Bruno Haible  <bruno@clisp.org>
12354
12355         * m4/tmpdir.m4: New file, from GNU gettext.
12356
12357 2006-07-24  Bruno Haible  <bruno@clisp.org>
12358
12359         * lib/tmpdir.h: New file, from GNU gettext.
12360         * lib/tmpdir.c: New file, from GNU gettext.
12361
12362 2006-07-24  Bruno Haible  <bruno@clisp.org>
12363
12364         * lib/clean-temp.h: New file, from GNU gettext.
12365         * lib/clean-temp.c: New file, from GNU gettext.
12366
12367 2006-07-23  Eric Blake  <ebb9@byu.net>
12368
12369         * modules/stdio-safer (Files): Add tmpfile-safer.c.
12370         (Depends-on): Add binary-io.
12371
12372 2006-07-23  Eric Blake  <ebb9@byu.net>
12373
12374         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
12375
12376 2006-07-23  Eric Blake  <ebb9@byu.net>
12377
12378         * lib/tmpfile-safer.c: New file.
12379         * lib/stdio-safer.h (fopen_safer): Add prototype.
12380         * lib/stdio--.h (tmpfile): Make safer.
12381
12382 2006-07-23  Bruno Haible  <bruno@clisp.org>
12383
12384         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
12385         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
12386         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
12387         gl_linked_remove_at): Use it.
12388
12389 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12390         and Simon Josefsson <jas@extundo.com>
12391
12392         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
12393
12394         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
12395
12396 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
12397
12398         * modules/close-stream: New file.
12399         * modules/closeout (Description): Make it clear that it exits
12400         with a diagnostic on error.
12401         (Depends-on): Add close-stream.  Remove fpending, stdbool.
12402         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
12403
12404 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
12405
12406         * m4/close-stream.m4: New file.
12407
12408 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
12409
12410         * lib/close-stream.c, lib/close-stream.h: New files.
12411
12412 2006-07-22  Bruno Haible  <bruno@clisp.org>
12413
12414         Merge from GNU gettext 0.15.
12415
12416         2006-05-01  Bruno Haible  <bruno@clisp.org>
12417
12418                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
12419
12420         2006-07-22  Bruno Haible  <bruno@clisp.org>
12421
12422                 * modules/javaversion: New file.
12423                 * MODULES.html.sh (Java): Add javaversion.
12424
12425         2006-03-12  Bruno Haible  <bruno@clisp.org>
12426
12427                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
12428
12429         2005-12-04  Bruno Haible  <bruno@clisp.org>
12430
12431                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
12432                 (untested).
12433
12434         2006-06-21  Bruno Haible  <bruno@clisp.org>
12435
12436                 Avoid warnings from recent versions of mcs.
12437                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
12438                 -o, -L, -r any more. Use options documented since mcs-1.0
12439                 instead. Similarly for -g.
12440
12441         2005-12-04  Bruno Haible  <bruno@clisp.org>
12442
12443                 * build-aux/csharpcomp.sh.in: Suffix for resources is
12444                 .resources, not .resource.
12445
12446         2005-07-09  Bruno Haible  <bruno@clisp.org>
12447
12448                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
12449                 add a .dll suffix.
12450                 Reported by Mark Junker <mjscod@gmx.de>.
12451
12452         2006-07-22  Bruno Haible  <bruno@clisp.org>
12453
12454                 * modules/gettext: Upgrade to gettext-0.15.
12455                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
12456                 m4/visibility.m4.
12457                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
12458
12459 2006-07-22  Bruno Haible  <bruno@clisp.org>
12460
12461         Merge from GNU gettext 0.15.
12462
12463         2006-03-25  Bruno Haible  <bruno@clisp.org>
12464
12465                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
12466
12467         2006-07-21  Bruno Haible  <bruno@clisp.org>
12468
12469                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
12470                 "1.1".
12471
12472         2006-05-09  Bruno Haible  <bruno@clisp.org>
12473
12474                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
12475                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
12476                 for the conftestver execution.
12477
12478         2006-05-01  Bruno Haible  <bruno@clisp.org>
12479
12480                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
12481                 optional target-version argument. Verify that the compiler
12482                 groks source of the specified source-version, or add -source
12483                 option as necessary. Verify that the compiler produces
12484                 bytecode in the specified target-version, or add -target and
12485                 -source options as necessary. Make the result of the test
12486                 available as variable CONF_JAVAC. Also log error output in
12487                 config.log.
12488
12489         2006-03-11  Bruno Haible  <bruno@clisp.org>
12490
12491                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
12492
12493         2006-05-09  Bruno Haible  <bruno@clisp.org>
12494
12495                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
12496                 CLASSPATH_SEPARATOR to a semicolon.
12497
12498         2006-03-12  Bruno Haible  <bruno@clisp.org>
12499
12500                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
12501                 available as variable CONF_JAVA, for subsequent autoconf
12502                 tests. Also log error output in config.log.
12503
12504         2006-07-19  Bruno Haible  <bruno@clisp.org>
12505
12506                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
12507                 that getline works on glibc2 systems. Needed to avoid trouble
12508                 in relocatable.c.
12509                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
12510
12511         2005-12-04  Bruno Haible  <bruno@clisp.org>
12512
12513                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
12514                 launcher (untested).
12515
12516         2005-12-04  Bruno Haible  <bruno@clisp.org>
12517
12518                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
12519
12520         2006-07-22  Bruno Haible  <bruno@clisp.org>
12521
12522                 * gettext.m4: Update from GNU gettext-0.15.
12523                 * nls.m4: Likewise.
12524                 * po.m4: Likewise.
12525                 * inttypes-pri.m4: Likewise.
12526                 * inttypes-h.m4: Renamed from inttypes.m4.
12527                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
12528
12529 2006-07-22  Bruno Haible  <bruno@clisp.org>
12530
12531         Merge from GNU gettext 0.15.
12532
12533         2005-07-05  Bruno Haible  <bruno@clisp.org>
12534
12535                 * printf-args.c (printf_fetchargs): Work around broken
12536                 definition of wint_t on mingw.
12537
12538         2005-02-12  Bruno Haible  <bruno@clisp.org>
12539
12540                 * xallocsa.h: Add extern "C" for C++.
12541
12542         2006-05-17  Bruno Haible  <bruno@clisp.org>
12543
12544                 Cygwin portability.
12545                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
12546
12547         2006-04-30  Bruno Haible  <bruno@clisp.org>
12548
12549                 * progreloc.c: Include <mach-o/dyld.h> if available.
12550                 (find_executable): Use _NSGetExecutablePath when possible.
12551
12552         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
12553
12554                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
12555                 function.
12556
12557         2005-12-29  Bruno Haible  <bruno@clisp.org>
12558
12559                 * progreloc.c (set_program_name_and_installdir): Fix
12560                 compilation error.
12561
12562         2005-12-04  Bruno Haible  <bruno@clisp.org>
12563
12564                 Cygwin portability.
12565                 * progreloc.c: Include <windows.h> also on Cygwin.
12566                 (find_executable): Add support for Cygwin.
12567                 (set_program_name_and_installdir): Handle also platforms with
12568                 nonempty EXEEXT.
12569
12570         2006-07-11  Bruno Haible  <bruno@clisp.org>
12571
12572                 * javacomp.c: Fix a comment.
12573                 Reported by Jim Meyering.
12574
12575         2006-04-30  Bruno Haible  <bruno@clisp.org>
12576
12577                 * javacomp.h (compile_java_class): Add source_version,
12578                 target_version arguments.
12579                 * javacomp.c: Rewritten to choose only a compiler that
12580                 respects the specified source_version and target_version.
12581
12582         2006-06-27  Bruno Haible  <bruno@clisp.org>
12583
12584                 Assume correct S_ISDIR macro.
12585                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
12586
12587         2006-07-22  Bruno Haible  <bruno@clisp.org>
12588
12589                 * javaversion.h: New file, from GNU gettext.
12590                 * javaversion.c: New file, from GNU gettext.
12591                 * javaversion.java: New file, from GNU gettext.
12592                 * javaversion.class: New file, from GNU gettext.
12593
12594         2006-05-17  Bruno Haible  <bruno@clisp.org>
12595
12596                 Cygwin portability.
12597                 * javaexec.c (execute_java_class): Test for jview program
12598                 also on Cygwin.
12599
12600         2006-04-09  Bruno Haible  <bruno@clisp.org>
12601
12602                 * fatal-signal.c: Don't include string.h.
12603                 (at_fatal_signal): Use a copying loop instead of memcpy.
12604
12605         2005-12-04  Bruno Haible  <bruno@clisp.org>
12606
12607                 * csharpexec.c: Add support for 'clix' launcher (untested).
12608                 (execute_csharp_using_sscli): New function.
12609                 (execute_csharp_program): Call it.
12610
12611         2006-06-21  Bruno Haible  <bruno@clisp.org>
12612
12613                 Avoid warnings from recent versions of mcs.
12614                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
12615                 -o, -L, -r any more. Use options documented since mcs-1.0
12616                 instead. Similarly for -g.
12617
12618         2005-07-09  Bruno Haible  <bruno@clisp.org>
12619
12620                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
12621                 add a .dll suffix.
12622                 Reported by Mark Junker <mjscod@gmx.de>.
12623
12624         2006-06-17  Bruno Haible  <bruno@clisp.org>
12625
12626                 * config.charset: Update for NetBSD 3.0.
12627
12628         2006-05-17  Bruno Haible  <bruno@clisp.org>
12629
12630                 Cygwin portability.
12631                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
12632
12633         2006-05-16  Bruno Haible  <bruno@clisp.org>
12634
12635                 * localcharset.c [CYGWIN]: Include <windows.h>.
12636                 (get_charset_aliases): For Cygwin, return the same CPxxx
12637                 aliases list as under WIN32.
12638                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
12639                 the environment variables. Fall back to GetACP().
12640
12641         2006-04-05  Bruno Haible  <bruno@clisp.org>
12642
12643                 * config.charset: Update Juan Manuel Guerrero's address.
12644
12645         2005-02-12  Bruno Haible  <bruno@clisp.org>
12646
12647                 * allocsa.h: Add extern "C" for C++.
12648
12649         2005-02-10  Bruno Haible  <bruno@clisp.org>
12650
12651                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
12652                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
12653
12654         2006-07-22  Bruno Haible  <bruno@clisp.org>
12655
12656                 * gettext.h: Update to GNU gettext-0.15.
12657
12658 2006-07-22  Bruno Haible  <bruno@clisp.org>
12659
12660         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
12661         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
12662         lib-prefix.m4, longdouble.m4, ssize_t.m4.
12663
12664 2006-07-21  Eric Blake  <ebb9@byu.net>
12665
12666         * modules/stdlib-safer: New file.
12667         * MODULES.html.sh (File stream based Input/Output): Add
12668         stdlib-safer.
12669
12670 2006-07-21  Eric Blake  <ebb9@byu.net>
12671
12672         * lib/stdlib-safer.h: New file from coreutils, required by
12673         stdlib--.h.
12674
12675 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
12676
12677         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
12678
12679 2006-07-20  Bruno Haible  <bruno@clisp.org>
12680
12681         * gnulib-tool: Recognize new option --assume-autoconf.
12682         (autoconf_minversion): New variable.
12683         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
12684
12685 2006-07-20  Bruno Haible  <bruno@clisp.org>
12686
12687         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
12688
12689 2006-07-19  Derek R. Price  <derek@ximbiot.com>
12690
12691         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
12692         Reindent and repaginate.
12693
12694 2006-07-19  Derek Price  <derek@ximbiot.com>
12695
12696         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
12697         Correct grammar.
12698
12699 2006-07-17  Bruno Haible  <bruno@clisp.org>
12700
12701         * modules/list: New file.
12702         * modules/array-list: New file.
12703         * modules/carray-list, modules/carray-list-tests: New files.
12704         * modules/linked-list, modules/linked-list-tests: New files.
12705         * modules/avltree-list, modules/avltree-list-tests: New files.
12706         * modules/rbtree-list, modules/rbtree-list-tests: New files.
12707         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
12708         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
12709         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
12710         * modules/oset: New file.
12711         * modules/array-oset: New file.
12712         * modules/avltree-oset, modules/avltree-oset-tests: New files.
12713         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
12714         * tests/test-carray_list.c: New file.
12715         * tests/test-linked_list.c: New file.
12716         * tests/test-avltree_list.c: New file.
12717         * tests/test-rbtree_list.c: New file.
12718         * tests/test-linkedhash_list.c: New file.
12719         * tests/test-avltreehash_list.c: New file.
12720         * tests/test-rbtreehash_list.c: New file.
12721         * tests/test-avltree_oset.c: New file.
12722         * tests/test-rbtree_oset.c: New file.
12723         * MODULES.html.sh (Container data structures): New section.
12724
12725 2006-07-17  Bruno Haible  <bruno@clisp.org>
12726
12727         * m4/gl_list.m4: New file.
12728
12729 2006-07-17  Bruno Haible  <bruno@clisp.org>
12730
12731         * lib/gl_list.h: New file.
12732         * lib/gl_list.c: New file.
12733         * lib/gl_array_list.h: New file.
12734         * lib/gl_array_list.c: New file.
12735         * lib/gl_carray_list.h: New file.
12736         * lib/gl_carray_list.c: New file.
12737         * lib/gl_linked_list.h: New file.
12738         * lib/gl_linked_list.c: New file.
12739         * lib/gl_anylinked_list1.h: New file.
12740         * lib/gl_anylinked_list2.h: New file.
12741         * lib/gl_avltree_list.h: New file.
12742         * lib/gl_avltree_list.c: New file.
12743         * lib/gl_anyavltree_list1.h: New file.
12744         * lib/gl_anyavltree_list2.h: New file.
12745         * lib/gl_rbtree_list.h: New file.
12746         * lib/gl_rbtree_list.c: New file.
12747         * lib/gl_anyrbtree_list1.h: New file.
12748         * lib/gl_anyrbtree_list2.h: New file.
12749         * lib/gl_anytree_list1.h: New file.
12750         * lib/gl_anytree_list2.h: New file.
12751         * lib/gl_linkedhash_list.h: New file.
12752         * lib/gl_linkedhash_list.c: New file.
12753         * lib/gl_anyhash_list1.h: New file.
12754         * lib/gl_anyhash_list2.h: New file.
12755         * lib/gl_avltreehash_list.h: New file.
12756         * lib/gl_avltreehash_list.c: New file.
12757         * lib/gl_rbtreehash_list.h: New file.
12758         * lib/gl_rbtreehash_list.c: New file.
12759         * lib/gl_anytreehash_list1.h: New file.
12760         * lib/gl_anytreehash_list2.h: New file.
12761
12762         * lib/gl_oset.h: New file.
12763         * lib/gl_oset.c: New file.
12764         * lib/gl_array_oset.h: New file.
12765         * lib/gl_array_oset.c: New file.
12766         * lib/gl_avltree_oset.h: New file.
12767         * lib/gl_avltree_oset.c: New file.
12768         * lib/gl_rbtree_oset.h: New file.
12769         * lib/gl_rbtree_oset.c: New file.
12770         * lib/gl_anytree_oset.h: New file.
12771
12772 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
12773
12774         * m4/mkancesdirs.m4: New file.
12775         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
12776         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
12777         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
12778         it.
12779
12780 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
12781
12782         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
12783         * lib/mkancesdirs.h: New files.
12784         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
12785         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
12786         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
12787         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
12788         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
12789         callers changed.  Revamp internals significantly, by not
12790         attempting to create directories that are temporarily more
12791         permissive than the final results.  Do not attempt to use
12792         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
12793         This removes some race conditions, fixes some bugs, and simplifies
12794         things.  Use new dirchownmod function to do owner and mode changes.
12795         * lib/mkdir-p.h: Likewise.
12796         * lib/modechange.c (octal_to_mode): New function.
12797         (struct mode_change): New member mentioned.
12798         (make_node_op_equals): New arg mentioned.  All callers changed.
12799         (mode_compile): Keep track of which mode bits the user has explicitly
12800         mentioned.
12801         (mode_adjust): New arg DIR, so that we implement the X op correctly.
12802         New arg PMODE_BITS, to keep track of which mode bits the user
12803         mentioned; it treats S_ISUID and S_ISGID speciall.
12804         All callers changed.
12805         * lib/modechange.h: Likewise.
12806
12807 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
12808
12809         * MODULES.html.sh: Add mkancestors.
12810         * modules/mkancesdirs: New module.
12811         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
12812         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
12813         The chdir-safer and afs files are now orphans; I'll remove them
12814         unless someone speaks up.
12815         Add lib/dirchownmod.c, lib/dirchownmod.h.
12816         (Depends-on): Remove alloca, chown, save-cwd, dirname.
12817         Add lchown, mkancesdirs.
12818         (Maintainer): Add self.
12819
12820 2006-07-15  Karl Berry  <karl@gnu.org>
12821
12822         * gnulib-tool: help message wording/arrangement.
12823
12824 2006-07-14  Simon Josefsson  <jas@extundo.com>
12825
12826         * doc/gnulib.texi (Libtool and Windows): New section.
12827
12828 2006-07-12  Simon Josefsson  <jas@extundo.com>
12829
12830         * modules/gendocs (License): Fix license, approved by Karl.
12831
12832 2006-07-12  Eric Blake  <ebb9@byu.net>
12833
12834         * MODULES.html.sh: Add gendocs.
12835
12836 2006-07-11  Eric Blake  <ebb9@byu.net>
12837
12838         * modules/fdl: New module, to install doc/fdl.texi.
12839         * MODULES.html.sh: Add new section for documentation modules.
12840         * gnulib-tool: Avoid space-tab.
12841         (--doc-base): New option, to manage files from doc.
12842
12843 2006-07-11  Eric Blake  <ebb9@byu.net>
12844
12845         * m4/absolute-header.m4: Fix comments to match recent change.
12846
12847 2006-07-11  Eric Blake  <ebb9@byu.net>
12848
12849         * gnulib-tool: List --doc-base before --tests-base.
12850
12851 2006-07-11  Derek R. Price  <derek@ximbiot.com>
12852
12853         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
12854
12855 2006-07-11  Bruno Haible  <bruno@clisp.org>
12856
12857         * README: Mention where to put documentation.
12858
12859 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12860
12861         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
12862
12863 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
12864
12865         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
12866         to stdint.m4.
12867
12868 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
12869
12870         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
12871         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
12872         "no/such/file/stdint.h" when there is no such file, so that
12873         the resulting C code can be parsed by dodgy compilers.
12874         Problems reported by Bob Proulx.
12875
12876 2006-07-10  Derek R. Price  <derek@ximbiot.com>
12877
12878         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
12879         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
12880         macros into the GNU _D_EXACT_NAMLEN.
12881         * lib/savedir.c:  Likewise.
12882         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
12883
12884 2006-07-10  Derek R. Price  <derek@ximbiot.com>
12885         and Paul Eggert  <eggert@cs.ucla.edu>
12886
12887         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
12888         * m4/savedir.m4:
12889         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
12890         macros into the GNU _D_EXACT_NAMLEN.
12891
12892 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
12893
12894         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
12895         around the absolute name, to work around a problem with the HP-UX
12896         11.23 native C compiler, reported by Bob Proulx.
12897
12898 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
12899
12900         * doc/maintain.texi, make-stds.texi: Sync from
12901         <http://savannah.gnu.org/projects/gnustandards>.
12902
12903 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
12904
12905         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
12906
12907 2006-07-09  Jim Meyering  <jim@meyering.net>
12908
12909         * m4/glob.m4: Remove a doubled word in a comment.
12910
12911 2006-07-09  Jim Meyering  <jim@meyering.net>
12912
12913         * lib/argp-pv.c: Remove a doubled word in a comment.
12914         * lib/check-version.c (check_version): Likewise.
12915         * lib/javacomp.c (compile_java_class): Likewise.
12916
12917 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
12918
12919         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
12920         for the benefit of people using Autoconf 2.60.  If you want to
12921         support older Autoconf versions you can copy m4/onceonly_2_57.m4
12922         (or m4/onceonly.m4, if pre-2.57) manually.
12923
12924 2006-07-08  Jim Meyering  <jim@meyering.net>
12925
12926         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
12927         comment.
12928         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
12929         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
12930         comment.
12931
12932 2006-07-08  Jim Meyering  <jim@meyering.net>
12933
12934         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
12935
12936 2006-07-07  Simon Josefsson  <jas@extundo.com>
12937
12938         * tests/test-crc.c: Change expected crc value, the test vector
12939         were probably computed using the old broken crc.c?
12940
12941 2006-07-06  Simon Josefsson  <jas@extundo.com>
12942
12943         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
12944         now the canonical place for the M4 file).
12945
12946         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
12947         from the sys_socket dependency now.
12948
12949         * modules/inet_pton (Files): Ditto.
12950
12951         * modules/inet_ntop (Files): Ditto.
12952
12953 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
12954
12955         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
12956         not gl_PREREQ_GETUSERSHELL.
12957
12958 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12959
12960         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
12961         with only one argument, for Autoconf 2.60.
12962         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
12963         expand to nothing, so add a shell command to avoid syntax error.
12964         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
12965
12966 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12967
12968         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
12969
12970 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12971
12972         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
12973         no longer needed.  Check for isblank decl.
12974         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
12975         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
12976         of existence.
12977
12978 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12979
12980         * lib/getloadavg.c: Use __VMS, not VMS.
12981         * lib/getopt.c: Likewise.
12982         * lib/getpagesize.h: Likewise.
12983         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
12984         and probably does not work.
12985
12986 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12987
12988         * lib/.cppi-disable: Add wcwidth.
12989         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
12990         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
12991         (ISGRAPH): Remove.  All uses changed to isgraph.
12992         (FOLD) [!defined _LIBC]: Remove special case.
12993         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
12994         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
12995         HAVE_ISBLANK.
12996         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
12997         case.
12998
12999 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
13000
13001         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
13002         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
13003         brackets.  Other minor changes to suppress some compiler
13004         warnings.
13005
13006 2006-07-06  Derek R. Price  <derek@ximbiot.com>
13007         and Paul Eggert  <eggert@cs.ucla.edu>
13008
13009         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
13010         of invoking obsolescent AC_HEADER_DIRENT macro.
13011         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
13012         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
13013         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13014         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
13015         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
13016         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
13017         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
13018         * m4/readdir.m4: Remove; no longer needed.
13019
13020 2006-07-06  Derek R. Price  <derek@ximbiot.com>
13021         and Paul Eggert  <eggert@cs.ucla.edu>
13022
13023         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
13024         Don't worry about this obsolete case any more.
13025         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
13026         directories.
13027         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
13028         worry about this obsolete case any more.
13029         * lib/fts.c: Likewise.
13030         * lib/getcwd.c: Likewise.
13031         * lib/glob.h: Likewise.
13032         * lib/savedir.c: Likewise.
13033
13034 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
13035
13036         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
13037         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
13038         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
13039         needed.
13040         All uses removed.
13041         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
13042         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
13043         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
13044         needed.
13045         * m4/getdate.m4 (gl_GETDATE): Likewise.
13046         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
13047         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
13048         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
13049         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
13050         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
13051         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
13052         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
13053         needed.
13054
13055 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
13056
13057         * lib/memcasecmp.c: Include <limits.h>.
13058         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
13059         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
13060         Don't assume isdigit succeeds only on '0' through '9'.
13061
13062 2006-07-05  Eric Blake  <ebb9@byu.net>
13063
13064         * modules/getaddrinfo (Depends-on): Add snprintf.
13065
13066 2006-07-05  Eric Blake  <ebb9@byu.net>
13067
13068         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
13069         to avoid 'header present but could not be compiled' on cygwin.
13070
13071 2006-07-05  Eric Blake  <ebb9@byu.net>
13072
13073         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
13074         missing from netdb.h.
13075         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
13076
13077 2006-07-05  Derek R. Price  <derek@ximbiot.com>
13078
13079         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
13080         no longer needed.
13081         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
13082         * m4/getdate.m4 (gl_GETDATE): Likewise.
13083         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
13084         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
13085         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
13086         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
13087         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
13088
13089 2006-07-05  Derek R. Price  <derek@ximbiot.com>
13090
13091         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
13092         All uses of is_space replaced by isspace.
13093         * lib/exit.h: Don't talk about STDC_HEADERS.
13094         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
13095         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
13096         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
13097         replaced by isprint etc.
13098         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
13099         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
13100         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
13101         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
13102         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
13103         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
13104
13105 2006-07-05  Bruno Haible  <bruno@clisp.org>
13106
13107         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
13108         the function exists, before testing against AIX.
13109         Reported by Martin Lambers <marlam@marlam.de>.
13110
13111 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
13112
13113         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
13114         From Mark D. Baushke.
13115
13116 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
13117
13118         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
13119         to the absolute name, not just one, to bypass Sun C 5.8's
13120         "warning: #include of /usr/include/... may be non-portable".
13121
13122 2006-07-04  Eric Blake  <ebb9@byu.net>
13123
13124         * modules/dirname-tests: New test module.
13125         * tests/test-dirname.c: New file, replacing dirname.c
13126         TEST_DIRNAME section that was recently deleted.
13127
13128 2006-07-04  Bruno Haible  <bruno@clisp.org>
13129
13130         Assume ANSI C header files and <ctype.h> functions.
13131         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
13132         (mbsnwidth): Use isprint, iscntrl instead.
13133
13134 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
13135
13136         Merge from coreutils.
13137         * MODULES.html.sh: Add xstrtold.
13138         * modules/xstrtold: New file.
13139         * modules/cycle-check (Files): Add lib/same-inode.h.
13140         * modules/dirname (Files): Add m4/double-slash-root.m4.
13141         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
13142         * modules/mkdir-p (Files): Add lib/same-inode.h.
13143         * modules/same (Files): Add lib/same-inode.h.
13144
13145 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
13146
13147         * m4/absolute-header.m4: Renamed from full-header-path.m4.
13148         This is to keep the terminology clean; POSIX talks about
13149         "absolute pathnames", not "full pathnames", but the GNU
13150         Coding Standards say to use "path" for something else;
13151         so use "absolute" to keep both sides happy.
13152         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
13153         Set gl_absolute_header, not gl_full_header_path.
13154         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
13155         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
13156         All uses changed.
13157
13158         Merge from coreutils.
13159
13160         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
13161
13162         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
13163         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
13164         want to require the building of c-strtod.o.
13165         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
13166         needs -lm directly.
13167         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
13168
13169         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
13170
13171         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
13172         --as-needed option if available.  Problem reported by Albert Chin in
13173         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
13174         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
13175         cc merely issues a bunch of annoying warnings for --as-needed
13176         (this problem was reported by Bob Proulx).  Also, try linking with
13177         -lm to detect a bug in binutils 2.16 (this problem was reported
13178         by Ralf Wildenhues).
13179
13180         2006-06-18  Jim Meyering  <jim@meyering.net>
13181
13182         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
13183         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
13184         macro.
13185         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
13186         also check for glibc-2.4's abort-inducing bug.
13187
13188         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
13189         Low-probability clean-up should be to use rmdir to get rid of
13190         the just-created directory, not unlink.
13191
13192         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
13193         configure fail, and request a bug report to inform us about it.
13194         Add a comment that, barring reports to the contrary, in 2007 we'll
13195         assume ftruncate is universally available.
13196
13197         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
13198
13199         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
13200
13201         2006-03-12  Jim Meyering  <jim@meyering.net>
13202
13203         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
13204         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
13205         * m4/same.m4 (gl_SAME): Likewise.
13206         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
13207
13208         2006-03-11  Eric Blake  <ebb9@byu.net>
13209
13210         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
13211         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
13212         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
13213         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
13214
13215 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
13216
13217         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
13218         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
13219         reported by Mark D. Baushke, one in
13220         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
13221
13222         Merge from coreutils.
13223
13224         * lib/.cppi-disable: Add stdint_.h.
13225         * lib/.cvsignore: Add stdint.h.
13226
13227         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
13228
13229         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
13230         both double and long double versions.
13231         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
13232         * lib/xstrtold.c: New file.
13233         * lib/xstrtod.h (xstrtold): New decl.
13234
13235         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
13236
13237         * lib/filemode.c (setst): Remove.
13238         (strmode): Rewrite to avoid setst.  This makes the code shorter,
13239         (arguably) clearer, and the generated code is a bit smaller on my
13240         Debian GNU/Linux stable x86 host.
13241
13242         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
13243
13244         * lib/filemode.c: Include "filemode.h" first, to test the interface.
13245         Assume that filemode.h includes sys/types.h and sys/stat.h.
13246         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
13247         (ftypelet): Reorder to put common cases first, for efficiency.
13248         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
13249         to do 'M'.
13250         (strmode): Renamed from mode_string, and now stores 12 bytes instead
13251         of 10, for compatibility with FreeBSD.  All callers changed.
13252         (filemodestring): Now stores 12 bytes instead of 10, and sets file
13253         types that can't be deduced solely from st_mode.  First arg is now a
13254         const pointer.
13255         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
13256         (strmode): Renamed from mode_string.
13257         (filemodestring): New decl.
13258         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
13259         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
13260         needed.
13261         (S_ISPORT, S_ISWHT): New macros, if not already defined.
13262
13263         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
13264
13265         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
13266         fsusage.h now does that.  Include fsusage.h first, to test interface.
13267         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
13268         at most one method (the old code could have generated decls that
13269         didn't conform to C89, not that this was ever exercised).
13270         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
13271
13272         2006-03-19  Jim Meyering  <jim@meyering.net>
13273
13274         Work even in a chroot where d_ino values for entries in "/"
13275         don't match the stat.st_ino values for the same names.
13276         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
13277         number, iterate through all entries again, using lstat instead.
13278         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
13279         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
13280
13281         * lib/getcwd.c (__getcwd): Clarify a comment.
13282         Use memcpy in place of a call to strcpy.
13283
13284         2006-03-12  Jim Meyering  <jim@meyering.net>
13285
13286         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
13287         matches that of the current directory (which we're about to chdir ".."
13288         out of), then save the dev-ino of the parent, instead.
13289
13290         * lib/same-inode.h (SAME_INODE): New file/macro.
13291         * lib/chdir-safer.c (SAME_INODE): Remove definition.
13292         Include "same-inode.h", instead.
13293         * lib/same.c: Likewise.
13294         * lib/cycle-check.h: Include "same-inode.h".
13295         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
13296         * lib/cycle-check.c (SAME_INODE): Remove definition.
13297         * lib/root-dev-ino.h: Include "same-inode.h".
13298
13299         2006-03-11  Eric Blake  <ebb9@byu.net>
13300
13301         * lib/same.c (same_name): s/base_name/last_component/
13302         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
13303         * lib/filenamecat.c (file_name_concat): Likewise.
13304
13305         2006-03-11  Eric Blake  <ebb9@byu.net>,
13306                     Paul Eggert  <eggert@cs.ucla.edu>
13307
13308         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
13309         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
13310         drive prefix.
13311         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
13312         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
13313         (last_component): New method.
13314         * lib/dirname.c (dir_len): Determine when drive letters need a
13315         subsequent slash.  Preserve // when it is special.
13316         (dir_name): Don't append dot when drive letter is absolute.
13317         [TEST_DIRNAME]: Move into a full-blown gnulib test.
13318         * lib/basename.c (base_name): New semantics - malloc the result.
13319         Preserve // when it is special.  Preserve relative files that look
13320         like drive letters.
13321         (base_len): Preserve // when it is special.
13322         (last_component): New method, similar to old base_name semantics.
13323         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
13324         base_name.  Strip redundant slashes from ///.
13325
13326 2006-07-03  Jim Meyering  <jim@meyering.net>
13327
13328         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
13329         macro is used before the first cycle_check call.
13330
13331 2006-07-03  Eric Blake  <ebb9@byu.net>
13332
13333         * modules/dirname (Depends-on): Add xstrndup.
13334
13335 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
13336
13337         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
13338         test cases, so that config.log is a bit easier to follow.
13339
13340 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
13341
13342         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
13343         both are 64 bits, since this seems to be the tradition, and this
13344         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
13345         we ever run into a host that prefers long long to long in this
13346         case, we'll need another configure-time test.  Problem reported by
13347         Jim Meyering.
13348
13349 2006-07-02  Eric Blake  <ebb9@byu.net>
13350
13351         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
13352
13353 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
13354
13355         * modules/inttypes (Depends-on): No longer depends on stdint.
13356         * modules/stdint (Description): Say more about assumptions.
13357         Say that the fast types might differ.  Say macros are used.
13358         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
13359         (Makefile.am): Revise list of substituted symbols to match
13360         new stdint.m4.
13361         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
13362         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
13363         * tests/test-stdint.c (verify_same_types)
13364         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
13365         the code conforms to C99/C89.
13366         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
13367         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
13368
13369 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
13370
13371         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
13372         but fix a bug, by requiring at least 64 bits.
13373         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
13374         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
13375         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
13376         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
13377
13378         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
13379         changes.  Make 2.59 a prerequisite.  Check and substitute for
13380         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
13381         inttypes.h.  Do not use special include files; just use the
13382         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
13383         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
13384         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
13385         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
13386         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
13387         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
13388         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
13389         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
13390         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
13391         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
13392         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
13393         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
13394         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
13395         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
13396         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
13397         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
13398         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
13399         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
13400         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
13401         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
13402         WINT_MAX.  Check for C99 conformance more strictly, by detecting
13403         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
13404         not check for things that C99 does not require, e.g., int8_t.  If
13405         a test isn't needed unless <stdint.h> isn't working, and is
13406         unlikely to be needed for any other reason, then don't do it
13407         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
13408         size_t, since we assume C89 freestanding at least.  Do not check
13409         for sig_atomic_t, wchar_t, or wint_t, since the code now does
13410         the right thing even if the types are not defined.  Instead use:
13411         (gl_STDINT_TYPE_PROPERTIES): New macro.
13412         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
13413         testing whether <sys/types.h> clashes, as Autoconf does this for
13414         us now.  All uses removed.
13415         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
13416         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
13417         (gl_CHECK_TYPE_SAME):
13418         Remove; no longer needed.
13419         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
13420         exists, since we'll return 0 anyway in that case.
13421         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
13422
13423 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
13424
13425         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
13426         possible collision with system files.
13427         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
13428         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
13429         WCHAR_MIN and WCHAR_MAX in this case.
13430         (<stddef.h>): Do not include; no longer needed.
13431         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
13432         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
13433         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
13434         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
13435         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
13436         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
13437         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
13438         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
13439         !defined(__c99))]: Include in this case too, since it's harmless
13440         now.
13441         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
13442         dangerous to do so.
13443         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
13444         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
13445         (_STDINT_MIN, _STDINT_MAX): New macros.
13446         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
13447         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
13448         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
13449         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
13450         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
13451         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
13452         macros, not typedefs; this simplifies things quite a bit.
13453         Use long int for all types narrower than int64_t.
13454         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
13455         Define in terms of long long int or int64_t or long int,
13456         not int64_t or int32_t.  This saves some compile-time testing.
13457         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
13458         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
13459         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
13460         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
13461         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
13462         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
13463         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
13464         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
13465         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
13466         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
13467         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
13468         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
13469         undef any previous version and define our own version, for
13470         simplicity and consistency with the new macros for types.
13471         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
13472         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
13473         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
13474         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
13475         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
13476         @WINT_T_SUFFIX@ to keep things simple here.
13477         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
13478         Simplify by assuming typical 8/16/32/64 host, since we're
13479         already doing that elsewhere anyway.
13480         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
13481         and assume long long int is 64 bits if available.  This
13482         speeds up 'configure'.
13483
13484 2006-07-01  Eric Blake  <ebb9@byu.net>
13485
13486         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
13487         Reported by Andreas Buening.
13488
13489 2006-07-01  Eric Blake  <ebb9@byu.net>
13490
13491         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
13492
13493 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
13494
13495         * lib/getaddrinfo.c: fixed typo
13496
13497 2006-06-29  Jim Meyering  <jim@meyering.net>
13498
13499         * modules/strftime (Maintainer): Add my name, since with the
13500         FPRINTFTIME changes strftime.c has forked from glibc.
13501
13502 2006-06-29  Eric Blake  <ebb9@byu.net>
13503
13504         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
13505
13506 2006-06-29  Eric Blake  <ebb9@byu.net>
13507
13508         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
13509
13510 2006-06-29  Eric Blake  <ebb9@byu.net>
13511
13512         * lib/stat_.h: New file.
13513
13514 2006-06-29  Eric Blake  <ebb9@byu.net>
13515
13516         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
13517         unused static function.
13518
13519 2006-06-29  Eric Blake  <ebb9@byu.net>
13520
13521         * doc/functions.texi (Function Portability): Document missing lstat
13522         on mingw.
13523
13524 2006-06-29  Eric Blake  <ebb9@byu.net>
13525
13526         * MODULES.html.sh: Add sys_stat.
13527         * modules/sys_stat: New module.
13528         * modules/mkstemp (Depends-on): Add sys_stat.
13529
13530 2006-06-29  Derek R. Price  <derek@ximbiot.com>
13531
13532         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
13533
13534 2006-06-29  Derek R. Price  <derek@ximbiot.com>
13535
13536         * m4/c-bs-a.m4: Removed.
13537
13538 2006-06-29  Derek R. Price  <derek@ximbiot.com>
13539
13540         * lib/strftime.c: Assume strftime() exists.
13541
13542 2006-06-29  Derek Price  <derek@ximbiot.com>
13543
13544         * modules/c-bs-a: Removed - \a is C89.
13545         * MODULES.html.sh: Remove c-bs-a.
13546
13547 2006-06-29  Bruno Haible  <bruno@clisp.org>
13548
13549         * modules/wcwidth (License): Change to LGPL.
13550
13551 2006-06-28  Simon Josefsson  <jas@extundo.com>
13552
13553         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
13554         on _WIN32.
13555
13556         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
13557         getnameinfo.
13558
13559 2006-06-28  Simon Josefsson  <jas@extundo.com>
13560
13561         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
13562
13563 2006-06-28  Simon Josefsson  <jas@extundo.com>
13564
13565         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
13566         functions there.  It will succeed on Windows XP, but on Windows
13567         2000 and (presumably) earlier, it will fail, and use the internal
13568         re-implementation.
13569         (use_win32_p): New function.
13570         (getaddrinfo): Use strtoul on servname, to support numeric ports.
13571         Support AI_NUMERICSERV to disable getservbyname.
13572         (getnameinfo): New function, only supports
13573         NI_NUMERICHOST|NI_NUMERICSERV for now.
13574
13575         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
13576         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
13577         getnameinfo.
13578
13579 2006-06-28  Eric Blake  <ebb9@byu.net>
13580
13581         * modules/wcwidth: New file.
13582         * modules/mbchar (Depends-on): Add wcwidth.
13583         * modules/mbswidth (Depends-on): Add wcwidth.
13584         * MODULES.html.sh: Add wcwidth.
13585
13586 2006-06-28  Eric Blake  <ebb9@byu.net>
13587
13588         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
13589         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
13590
13591 2006-06-28  Eric Blake  <ebb9@byu.net>
13592
13593         * lib/xvasprintf.h: Fix comments.
13594
13595 2006-06-28  Eric Blake  <ebb9@byu.net>
13596
13597         * lib/mbchar.h (wcwidth): Include wcwidth.h.
13598         * lib/mbswidth.c (wcwidth): Move from here...
13599         * lib/wcwidth.h: ...to this new file.
13600
13601 2006-06-28  Derek R. Price  <derek@ximbiot.com>
13602
13603         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
13604
13605         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
13606         it's obsolete.
13607         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
13608
13609 2006-06-28  Derek R. Price  <derek@ximbiot.com>
13610
13611         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
13612         Autoconf 2.60 says this stuff was obsolete.
13613
13614 2006-06-28  Bruno Haible  <bruno@clisp.org>
13615
13616         * modules/wcwidth (Files): Add m4/wchar_t.m4.
13617
13618 2006-06-28  Bruno Haible  <bruno@clisp.org>
13619
13620         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
13621         gt_TYPE_WCHAR_T.
13622
13623 2006-06-28  Bruno Haible  <bruno@clisp.org>
13624
13625         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
13626         declaration for wcwidth.
13627         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
13628
13629 2006-06-28  Bruno Haible  <bruno@clisp.org>
13630
13631         * lib/mkdtemp.c [MINGW]: Include <io.h>.
13632         (mkdir): Define using _mkdir.
13633
13634 2006-06-28  Bruno Haible  <bruno@clisp.org>
13635
13636         * lib/getaddrinfo.h: Fix POSIX URL.
13637         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
13638         _WIN32.
13639         (use_win32_p): Make static.
13640         (getaddrinfo): Reject service name if it is empty or does not consist
13641         solely of decimal digits, or if its value is > 65535.
13642         (getnameinfo): Remove useless casts.
13643
13644 2006-06-27  Simon Josefsson  <jas@extundo.com>
13645
13646         * modules/sys_select: New file, suggested by Bruno Haible, Paul
13647         Eggert and Martin Lambers.
13648
13649 2006-06-27  Simon Josefsson  <jas@extundo.com>
13650
13651         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
13652         Eggert and Martin Lambers.
13653
13654 2006-06-27  Bruno Haible  <bruno@clisp.org>
13655
13656         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
13657         result to 0, not to empty.
13658         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
13659
13660 2006-06-27  Bruno Haible  <bruno@clisp.org>
13661
13662         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
13663
13664 2006-06-26  Simon Josefsson  <jas@extundo.com>
13665
13666         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
13667         present.
13668
13669 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
13670
13671         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
13672         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
13673         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
13674
13675 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
13676
13677         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
13678
13679 2006-06-26  Bruno Haible  <bruno@clisp.org>
13680
13681         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
13682
13683 2006-06-26  Bruno Haible  <bruno@clisp.org>
13684
13685         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
13686
13687 2006-06-26  Bruno Haible  <bruno@clisp.org>
13688
13689         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
13690         SGI C compiler in pre-C99 mode.
13691         Suggested by Mark D. Baushke and Larry Jones.
13692
13693 2006-06-26  Bruno Haible  <bruno@clisp.org>
13694
13695         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
13696         WCHAR_MAX.
13697         Reported by Mark D. Baushke and Larry Jones.
13698
13699 2006-06-26  Bruno Haible  <bruno@clisp.org>
13700
13701         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
13702         in pre-C99 mode.
13703         Suggested by Mark D. Baushke and Larry Jones.
13704
13705 2006-06-23  Simon Josefsson  <jas@extundo.com>
13706             Bruno Haible  <bruno@clisp.org>
13707
13708         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
13709         Emit mostlyclean-local rule.
13710         (func_emit_tests_Makefile_am): Likewise.
13711         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
13712
13713 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
13714
13715         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
13716
13717 2006-06-23  Bruno Haible  <bruno@clisp.org>
13718
13719         * tests/test-stdint.c: Update to match ISO C 99 Technical
13720         Corrigendum 1.
13721
13722 2006-06-23  Bruno Haible  <bruno@clisp.org>
13723
13724         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
13725
13726 2006-06-23  Bruno Haible  <bruno@clisp.org>
13727
13728         * lib/stdint_.h: Treat IRIX like OpenBSD.
13729
13730 2006-06-23  Bruno Haible  <bruno@clisp.org>
13731
13732         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
13733         ISO C 99 Technical Corrigendum 1.
13734
13735 2006-06-22  Simon Josefsson  <jas@extundo.com>
13736
13737         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
13738         MinGW.
13739
13740 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
13741
13742         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
13743         needed.  Some compiler complained about some of them.  Problem reported
13744         by Larry Jones in
13745         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
13746
13747 2006-06-21  Simon Josefsson  <jas@extundo.com>
13748
13749         * tests/test-getaddrinfo.c: New file.
13750
13751         * modules/getaddrinfo-tests: New file.
13752
13753         * MODULES.html.sh: Add inet_pton.
13754
13755         * modules/inet_pton: New file.
13756
13757 2006-06-21  Simon Josefsson  <jas@extundo.com>
13758
13759         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
13760         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
13761         of using the (limited) gnulib implementation on Windows XP.
13762
13763         * m4/inet_pton.m4: New file.
13764
13765 2006-06-21  Simon Josefsson  <jas@extundo.com>
13766
13767         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
13768         variable.
13769
13770         * lib/socket_.h: Don't define WINVER.
13771
13772         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
13773         slightly modified to work in gnulib.
13774
13775 2006-06-21  Simon Josefsson  <jas@extundo.com>
13776
13777         * doc/gnulib.texi (Windows sockets): Add.
13778
13779 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
13780
13781         * lib/read-file.c (fread_file): Start with buffer allocation of
13782         0 bytes rather than 1 byte; this simplifies the code.
13783         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
13784         code to free buffer and save/restore errno.
13785         (internal_read_file): Remove unused local.
13786
13787 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
13788
13789         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
13790         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
13791         Problem reported by Denis Excoffier in
13792         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
13793
13794 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13795
13796         * modules/sys_socket, modules/socklen: Include sys/types since
13797         FreeBSD 4.x's sys/socket.h needs it.
13798
13799 2006-06-19  Simon Josefsson  <jas@extundo.com>
13800
13801         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
13802
13803 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
13804
13805         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
13806
13807 2006-06-19  Bruno Haible  <bruno@clisp.org>
13808
13809         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
13810         and FULL_PATH_INTTYPES_H in angle brackets.
13811         Reported by Mark D. Baushke <mdb@gnu.org>.
13812
13813 2006-06-17  Eric Blake  <ebb9@byu.net>
13814
13815         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
13816         errno.
13817
13818 2006-06-17  Bruno Haible  <bruno@clisp.org>
13819
13820         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
13821         <sys/inttypes.h>.
13822
13823 2006-06-17  Bruno Haible  <bruno@clisp.org>
13824
13825         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
13826         whether errno is declared. Assume <errno.h> declares errno.
13827
13828 2006-06-17  Bruno Haible  <bruno@clisp.org>
13829
13830         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
13831
13832 2006-06-17  Bruno Haible  <bruno@clisp.org>
13833
13834         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
13835         problem on Solaris 2.5.1.
13836
13837 2006-06-16  Eric Blake  <ebb9@byu.net>
13838
13839         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
13840         * lib/unicodeio.c [!defined errno]: Likewise.
13841         * lib/strtol.c [!defined errno]: Likewise.
13842         * lib/strtod.c [!defined errno]: Likewise.
13843
13844 2006-06-15  Eric Blake  <ebb9@byu.net>
13845
13846         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
13847
13848 2006-06-15  Eric Blake  <ebb9@byu.net>
13849
13850         * config/srclist.txt (ssize_t.m4): Lose sync.
13851
13852 2006-06-15  Bruno Haible  <bruno@clisp.org>
13853
13854         * modules/stdint (Files): Include m4/full-header-path.m4,
13855         m4/size_max.m4, m4/wchar_t.m4.
13856         (Makefile.am): Many more substitutions.
13857         * modules/stdint-tests: New file.
13858         * tests/test-stdint.c: New file.
13859
13860 2006-06-15  Bruno Haible  <bruno@clisp.org>
13861
13862         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
13863         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
13864         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
13865         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
13866         gl_CHECK_TYPE_SAME): New macros.
13867
13868 2006-06-15  Bruno Haible  <bruno@clisp.org>
13869
13870         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
13871
13872 2006-06-15  Bruno Haible  <bruno@clisp.org>
13873
13874         * lib/stdint_.h: Rewritten to be fully auto-configured.
13875         Fixes bug on HP-UX/IA64.
13876
13877 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
13878
13879         * lib/getdate.y (__attribute__): Don't define if already defined.
13880         Problem reported by Larry Jones.
13881         * lib/utimens.c (__attribute__): Likewise.
13882
13883 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
13884
13885         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
13886         reported by Andreas Schwab.
13887
13888 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13889             Bruno Haible  <bruno@clisp.org>
13890
13891         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
13892         check for the declaration of strnlen and a run test that exposes the
13893         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
13894         rpl_strndup.
13895
13896 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13897             Bruno Haible  <bruno@clisp.org>
13898
13899         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
13900
13901 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13902
13903         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
13904         compile test, for Tru64 4.0D.
13905
13906 2006-05-28  Karl Berry  <karl@gnu.org>
13907
13908         * config/srclist.txt (printf-args.c): lose sync.
13909
13910 2006-05-26  Martin Lambers  <marlam@marlam.de>
13911
13912         * lib/getpass.c: Updates the test for the native W32 API, and adds
13913         missing includes, thus fixing compilation warnings.
13914
13915 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
13916
13917         * lib/exclude.c (exclude_fnmatch): New function.
13918         (excluded_file_name): Call exclude_fnmatch.
13919         * lib/exclude.h (excluded_file_name): New prototype
13920
13921 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
13922
13923         * lib/tempname.c (small_open, large_open): New macros.
13924         (__open, __open64) [!_LIBC]: Remove.
13925         (__gen_tempname): Use small_open and large_open instead of __open
13926         and __open64.  This fixes a portability bug on HP-UX 11.11i
13927         reported by Simon Wing-Tang in
13928         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
13929
13930 2006-05-24  Bruno Haible  <bruno@clisp.org>
13931
13932         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
13933         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
13934         Reported by Thorsten Maerz <torte@netztorte.de> via
13935         Aaron Stone <aaron@serendipity.cx>.
13936
13937 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13938
13939         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
13940         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
13941         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
13942         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
13943         not really conditional on the cache.
13944         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
13945
13946 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13947
13948         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
13949         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
13950         (my_usleep): Don't mishandle maximum value.
13951
13952 2006-05-19  Jim Meyering  <jim@meyering.net>
13953
13954         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
13955
13956 2006-05-17  Bruno Haible  <bruno@clisp.org>
13957
13958         Cygwin portability.
13959         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
13960
13961 2006-05-17  Bruno Haible  <bruno@clisp.org>
13962
13963         * lib/stdint_.h: Fix recognition of Cygwin.
13964
13965 2006-05-15  Bruno Haible  <bruno@clisp.org>
13966
13967         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
13968         on libtool patch by Ralf Wildenhues.
13969
13970 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
13971
13972         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
13973         test for C99 conformance; (bool) 0.5 is an integer constant
13974         expression, but (bool) -0.5 is not.  Problem reported by Fedor
13975         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
13976
13977 2006-05-11  Simon Josefsson  <jas@extundo.com>
13978
13979         * m4/xvasprintf.m4: Fix obvious typo.
13980
13981 2006-05-11  Jim Meyering  <jim@meyering.net>
13982
13983         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
13984         James Lemley.
13985
13986 2006-05-10  Simon Josefsson  <jas@extundo.com>
13987
13988         * lib/md4.c: Typo fix, update copyright years.
13989         (K1, K2): Don't use L because it turn computations into 64-bit on
13990         64-bit platforms.
13991
13992 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
13993
13994         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
13995         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
13996         unwanted sign propagation, e.g., on hosts with 64-bit int.
13997         There still are some problems with reeelly weird theoretical hosts
13998         (e.g., 33-bit int) but it's not worth worrying about now.
13999         * lib/sha1.c (rol): Likewise.
14000         (K1, K2, K3, K4): Remove unnecessary L suffix.
14001
14002 2006-05-10  Bruno Haible  <bruno@clisp.org>
14003
14004         * lib/des.c: Cast to avoid warnings.
14005
14006 2006-05-09  Bruno Haible  <bruno@clisp.org>
14007
14008         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
14009         (Depends-on): Depend also on xsize, stdarg.
14010         (configure.ac): Add gl_XVASPRINTF.
14011
14012 2006-05-09  Bruno Haible  <bruno@clisp.org>
14013
14014         * m4/xvasprintf.m4: New file.
14015
14016 2006-05-09  Bruno Haible  <bruno@clisp.org>
14017
14018         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
14019         (EOVERFLOW): Define fallback value.
14020         (xstrcat): New function.
14021         (xvasprintf): Recognize the special case of a string concatenation.
14022
14023 2006-05-08  Eric Blake  <ebb9@byu.net>
14024
14025         * gnulib-tool (func_version): Base copyright year on CVS date.
14026         (func_emit_copyright_notice): New function.
14027         (func_emit_lib_Makefile_am): Use it.
14028         (func_emit_tests_Makefile_am): Likewise.
14029         (func_import): Likewise.
14030
14031 2006-05-08  Bruno Haible  <bruno@clisp.org>
14032
14033         * modules/stdarg: New file.
14034         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
14035
14036 2006-05-08  Bruno Haible  <bruno@clisp.org>
14037
14038         * m4/stdarg.m4: New file, from GNU gettext.
14039
14040 2006-05-08  Bruno Haible  <bruno@clisp.org>
14041
14042         * config/srclist.txt (build-aux/config.rpath): different from latest
14043         release.
14044
14045 2006-05-08  Bruno Haible  <bruno@clisp.org>
14046
14047         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
14048
14049 2006-05-05  Jim Meyering  <jim@meyering.net>
14050
14051         * m4/warning.m4: New file, derived from bison's file by the same name.
14052
14053 2006-05-03  Bruno Haible  <bruno@clisp.org>
14054
14055         * lib/stdint_.h: Shorter URL.
14056         * lib/inttypes.h: Likewise.
14057
14058 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
14059
14060         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
14061
14062 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
14063
14064         * lib/verify.h: Document the internals better.  Most of this change
14065         was written by Bruno Haible.
14066
14067 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
14068
14069         * doc/verify.texi: New file, partly based on a proposal by
14070         Bruno Haible.
14071
14072 2006-05-02  Bruno Haible  <bruno@clisp.org>
14073
14074         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
14075         test from here...
14076         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
14077
14078 2006-04-29  Bruno Haible  <bruno@clisp.org>
14079
14080         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
14081         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
14082
14083 2006-04-29  Bruno Haible  <bruno@clisp.org>
14084
14085         * gnulib-tool: Make --update option actually work.
14086
14087 2006-04-29  Bruno Haible  <bruno@clisp.org>
14088
14089         * doc/gcd.texi: New file.
14090         * doc/gnulib.texi: Include it.
14091
14092 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
14093
14094         * lib/getdate.y (get_date): When adding relative date, start with the
14095         initial time, not with the result of the first mktime call.
14096
14097 2006-04-25  Bruno Haible  <bruno@clisp.org>
14098
14099         * gnulib-tool (func_import): Output the include directives in three
14100         blocks, sorted separately.
14101         Reported by Ben Pfaff <blp@cs.stanford.edu>.
14102
14103 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
14104
14105         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
14106         to define main with arguments, for C++.  Reported by Eric Blake.
14107         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
14108         Prefer 'int main ()' to 'int main (void)', for C++.
14109         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
14110         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
14111         for 'main', for C99 and C++.
14112
14113 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
14114
14115         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
14116         Don't assume that exit status -1 is valid.
14117         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14118         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
14119         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
14120         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
14121         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
14122         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
14123         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
14124         functions can be used without declaring them, or that you can
14125         exit with status -1.
14126         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
14127
14128 2006-04-24  Karl Berry  <karl@gnu.org>
14129
14130         * config/srclist.txt (longdouble.m4): sync lost.
14131
14132 2006-04-24  Eric Blake  <ebb9@byu.net>
14133
14134         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
14135
14136 2006-04-24  Bruno Haible  <bruno@clisp.org>
14137
14138         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
14139         poll() implementation in AIX.
14140         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14141
14142 2006-04-24  Bruno Haible  <bruno@clisp.org>
14143
14144         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
14145         assigned exactly once.
14146
14147 2006-04-23  Claudio Fontana  <claudio@gnu.org>
14148             Bruno Haible  <bruno@clisp.org>
14149
14150         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
14151         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
14152         for AM_CPPFLAGS.
14153
14154 2006-04-23  Bruno Haible  <bruno@clisp.org>
14155
14156         * modules/copy-file: Depend on unistd.
14157         * modules/execute: Likewise.
14158         * modules/fatal-signal: Likewise.
14159         * modules/findprog: Likewise.
14160         * modules/mkdtemp : Likewise.
14161         * modules/pipe: Likewise.
14162         * modules/wait-process: Likewise.
14163
14164 2006-04-23  Bruno Haible  <bruno@clisp.org>
14165
14166         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
14167         condition was already detected.
14168         Reported by Ben Pfaff <blp@cs.stanford.edu>.
14169
14170 2006-04-23  Bruno Haible  <bruno@clisp.org>
14171
14172         * lib/copy-file.c: Include <unistd.h> unconditionally.
14173         * lib/execute.c: Likewise.
14174         * lib/fatal-signal.c: Likewise.
14175         * lib/findprog.c: Likewise.
14176         * lib/mkdtemp.c: Likewise.
14177         * lib/pipe.h: Likewise.
14178         * lib/pipe.c: Likewise.
14179         * lib/wait-process.h: Likewise.
14180
14181 2006-04-23  Bruno Haible  <bruno@clisp.org>
14182
14183         * gnulib-tool (func_usage): Fix --import description. Document
14184         --update.
14185         (func_import): Create temporary file in a temporary directory, if
14186         --dry-run is specified. Silence errors from 'grep' when there are no
14187         m4 files in $m4dir.
14188         (func_create_testdir): Silence errors from 'grep' when there are no
14189         m4 files in $m4dir.
14190         Reported by Karl Berry <karl@freefriends.org>.
14191
14192 2006-04-20  Bruno Haible  <bruno@clisp.org>
14193
14194         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
14195         one argument, so that the code will be portable to Autoconf 2.60.
14196         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
14197         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
14198         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
14199
14200 2006-04-19  Derek Price  <derek@ximbiot.com>
14201             Eric Blake  <ebb9@byu.net>
14202
14203         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
14204         rather than "/full/path.h".  Update comment to match.  Shorten &
14205         generalize m4_translit call via AS_TR_CPP.
14206
14207 2006-04-19  Derek Price  <derek@ximbiot.com>
14208             Eric Blake  <ebb9@byu.net>
14209
14210         * lib/inttypes.h: Correct grammar in comment.
14211
14212 2006-04-18  Derek Price  <derek@ximbiot.com>
14213             Paul Eggert  <eggert@cs.ucla.edu>
14214
14215         * modules/inttypes: New file.
14216         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
14217
14218 2006-04-18  Derek Price  <derek@ximbiot.com>
14219             Paul Eggert  <eggert@cs.ucla.edu>
14220
14221         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
14222         New files.
14223
14224 2006-04-18  Derek Price  <derek@ximbiot.com>
14225             Paul Eggert  <eggert@cs.ucla.edu>
14226
14227         * lib/inttypes.h: New file.
14228         * lib/strtoimax.c: Assume <inttypes.h>.
14229
14230 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
14231
14232         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
14233         isn't mounted.  Problem reported by Kir Kolyshkin.
14234
14235 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
14236
14237         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
14238         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
14239         Derek R. Price.
14240         * lib/regex.h (RE_DUP_MAX): Update comment to match current
14241         implementation.
14242
14243 2006-04-12  Eric Blake  <ebb9@byu.net>
14244
14245         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
14246         is now done automatically by the corresponding Autoconf macro.
14247
14248 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
14249
14250         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
14251         time_r.h.
14252
14253 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14254
14255         Merge regex changes from libc, removing some of our
14256         POSIX-conformance changes that were rejected and redoing them in a
14257         less-intrusive way.
14258
14259         * lib/regcomp.c (re_compile_internal, init_dfa):
14260         Length arg is now size_t, not Idx.  All uses changed.
14261         (peek_token): Forward decl now says internal_function.
14262         (__re_error_msgid, __re_error_msgid_idx):
14263         Now static rather than extern with attribute_hidden.
14264         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
14265         For some reason libc prefers K&R style defns for external functions.
14266         (regerror) [!defined _LIBC]: Likewise.
14267         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
14268         (seek_collating_symbol_entry, lookup_collation_sequence_value):
14269         (build_range_exp, build_collating_symbol):
14270         Use K&R-style defn.
14271         (re_compile_fastmap): Use '\0' to memset, not 0.
14272         (utf8_sb_map): Make the calculations more obvious.
14273         (init_dfa, parse_bracket_exp, build_charclass_op):
14274         Call calloc and cast result, as glibc does.
14275         (init_word_char, fetch_token, peek_token, peek_token_bracket):
14276         (build_range_exp, build_collating_symbol):
14277         Now internal functions.
14278
14279         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
14280
14281         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
14282         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
14283         Don't depend on VMS; depend on __VMS instead, for POSIX
14284         namespace cleanness.
14285         (regoff_t): Define to ssize_t, not long int.
14286
14287         Remove the REG_ macros named below.  Instead, make the old names
14288         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
14289         __USE_GNU_REGEX.
14290         (REG_BACKSLASH_ESCAPE_IN_LISTS):
14291         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
14292         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
14293         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
14294         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
14295         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
14296         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
14297         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
14298         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
14299         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
14300         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
14301         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
14302         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
14303         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
14304         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
14305         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
14306         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
14307         (REG_NREGS):
14308         Remove.  All uses replaced by the old RE_* names.
14309         (RE_BACKSLASH_ESCAPE_IN_LISTS):
14310         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
14311         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
14312         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
14313         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
14314         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
14315         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
14316         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
14317         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
14318         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
14319         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
14320         Don't bother having these macros be independent of each others'
14321         values, since they no longer exist in the POSIX name space.
14322
14323         Rename the following member names back to their old names,
14324         unless !__USE_GNU_REGEX.  All uses changed back.
14325         (buffer): Renamed from re_buffer.
14326         (allocated): Renamed from re_allocated.
14327         (used): Renamed from re_used.
14328         (syntax): Renamed from re_syntax.
14329         (fastmap): Renamed from re_fastmap.
14330         (translate): Renamed from re_translate.
14331         (can_be_null): Renamed from re_can_be_null.
14332         (regs_allocated): Renamed from re_regs_allocated.
14333         (fastmap_accurate): Renamed from re_fastmap_accurate.
14334         (no_sub): Renamed from re_no_sub.
14335         (not_bol): Renamed from re_not_bol.
14336         (not_eol): Renamed from re_not_eol.
14337         (newline_anchor): Renamed from re_newline_anchor.
14338         (num_regs): Renamed from rm_num_regs.
14339         (start): Renamed from rm_start.
14340         (end): Renamed from rm_end.
14341
14342         (free_state): Move up a bit.
14343
14344         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
14345         #define to be empty.
14346         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
14347         when that is what is intended.
14348         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
14349         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
14350         (MAX): New macro.
14351         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
14352         All uses changed back to re_malloc, etc.  It's now the caller's
14353         responsibility to check for overflow; all callers changed.
14354         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
14355         (re_x2nrealloc): Remove.
14356         (free_state): Remove decl.
14357
14358         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
14359         (re_set_registers, re_exec):
14360         Use K&R-style defn.
14361
14362         2006-01-31  Roland McGrath  <roland@redhat.com>
14363
14364         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
14365         Reported by Mike Frysinger <vapier@gentoo.org>.
14366
14367         2006-01-15  Andreas Jaeger  <aj@suse.de>
14368
14369         [BZ #1950]
14370         * lib/regex_internal.c (re_string_reconstruct): Adjust for
14371         build_wcs_upper_buffer change.
14372         (build_wcs_upper_buffer): Change return type.
14373
14374         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
14375
14376         * lib/regex_internal.h: Include <stdint.h> if available.
14377
14378         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
14379
14380         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
14381
14382         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
14383
14384         * lib/regcomp.c: Adjust for changed secondary hash function.
14385
14386         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
14387
14388         * lib/regex.h: Pretty printing.
14389         Clean up namespace a bit.
14390
14391         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
14392
14393         * lib/regexec.c (update_cur_sifted_state, check_arrival,
14394         check_arrival_add_next_nodes): Avoid using uninitialized variable.
14395
14396         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
14397                     Ulrich Drepper  <drepper@redhat.com>
14398
14399         [BZ #1302]
14400         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
14401         changed.
14402         (bitset_word_t): Renamed from bitset_word.  All uses changed.
14403
14404         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
14405
14406         [BZ #281]
14407         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
14408         * lib/regcomp.c: Remove unnecessary uses of
14409         unsigned RE_TRANSLATE_TYPE.
14410         * lib/regex_internal.h: Likewise.
14411         * lib/regex_internal.c: Likewise.
14412         * lib/regexec.c: Likewise.
14413         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
14414
14415         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
14416
14417         * lib/regexec.c (find_recover_state): Remove unnecessary
14418         initialization.
14419         (transit_state_bkref): Make DFA a const pointer.
14420         (get_subexp): Likewise.
14421         (check_arrival): Likewise.
14422         (update_cur_sifted_state): Likewise.
14423         (re_search_internal): Likewise.
14424         (prune_impossible_nodes): Likewise.
14425         (acquire_init_state_context): Likewise.
14426         (proceed_next_node): Likewise.
14427         (set_regs): Likewise.
14428         (free_fail_stack_return): Likewise.
14429         (check_arrival_expand_ecl): Mark DFA parameter as const.
14430         (check_arrival_expand_ecl_sub): Likewise.
14431         (check_subexp_limits): Likewise.
14432         (sub_epsilon_src_nodes):  Likewise.
14433         (add_epsilon_src_nodes):  Likewise.
14434         (merge_state_array): Likewise.
14435         (update_regs): Likewise.
14436         (build_trtable): Likewise.
14437         (sift_states_backward): Mark MCTX parameter as const.
14438         (build_sifted_states): Likewise.
14439         (update_cur_sifted_state): Likewise.
14440         (sift_states_mkref): Likewise.
14441         (check_arrival_expand_ecl): Mark eclosure as const.
14442         (check_dst_limits_calc_pos_1): Likewise.
14443         * lib/regex_internal.h (re_match_context_t): Make dfa a const
14444         pointer.
14445
14446         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
14447
14448         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
14449         (transit_state_sb): Likewise.
14450         (transit_state_mb): Likewise.
14451         (sift_states_iter_mb): Likewise.
14452         (check_arrival_add_next_nodes): Likewise.
14453         (check_node_accept_bytes): Change first parameter to pointer-to-const.
14454         [_LIBC] (re_search_2_stub): Use mempcpy.
14455
14456         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
14457         mbrtowc for very simple UTF-8 case.
14458
14459         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
14460         a pointer-to-const.
14461         (re_acquire_state_context): Likewise.
14462         * lib/regex_internal.h: Adjust prototypes.
14463
14464         * lib/regex.c: Prevent using C++ compilers.
14465
14466         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
14467         (re_acquire_state_context): Likewise.
14468
14469 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14470
14471         * modules/regex (Depends-on): Add ssize_t.
14472
14473 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14474
14475         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
14476         translation table.
14477
14478 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14479
14480         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
14481
14482 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
14483             Bruno Haible  <bruno@clisp.org>
14484
14485         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
14486         <sys/types.h> and <inttypes.h>.
14487
14488 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14489
14490         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
14491         `__error_t_defined', so argp.h will not typedef the former.
14492
14493 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
14494
14495         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
14496         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
14497         glibc names.  Even if glibc is changed to conform to POSIX, the
14498         traditional names will be available anyway, since regex depends on
14499         the extensions module.  Also, fix a longstanding typo in the
14500         implementation of Spencer ERE test #75 from grep 2.3.  Problems
14501         reported by Emanuele Giaquinta.  Also, change sense of cached
14502         variable, so that the message makes sense.
14503
14504 2006-03-24  Simon Josefsson  <jas@extundo.com>
14505
14506         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
14507         including some doc fixes.
14508         (base64_encode_alloc): Fix +1 bug on allocation failures.
14509
14510 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14511
14512         * lib/base64.c (base64_encode): Do not read past end of array with
14513         unsanitized input on systems with CHAR_BIT > 8.
14514
14515 2006-03-24  Eric Blake  <ebb9@byu.net>
14516
14517         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
14518
14519 2006-03-22  Karl Berry  <karl@gnu.org>
14520
14521         * config/srclist.txt (*setenv.[ch]): get from coreutils.
14522         * config/srclistvars.sh (COREUTILS): new var.
14523
14524 2006-03-17  Jim Meyering  <jim@meyering.net>
14525
14526         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
14527         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
14528
14529 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
14530
14531         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
14532         no longer needs it.  Instead, check that regoff_t is as least
14533         as wide as ptrdiff_t.
14534
14535         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
14536         so that our regex.h stays compatible with the installed regex.
14537         This is helpful for installers who configure --without-included-regex.
14538         Problem reported by Emanuele Giaquinta.
14539
14540 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
14541
14542         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
14543         Typedef to long int, not to off_, as POSIX will likely change
14544         in that direction.
14545
14546 2006-03-15  Eric Blake  <ebb9@byu.net>
14547
14548         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
14549
14550 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
14551
14552         * lib/argp-help.c (validate_uparams): Fix typo
14553         * lib/argp-parse.c (argp_default_options): Consistently begin help
14554         messages with a lowercase letter.
14555
14556 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
14557
14558         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
14559         overrun buffers and shouldn't be used (much as gets shouldn't be
14560         used).
14561         * lib/time_r.c (asctime_r, ctime_r): Likewise.
14562
14563 2006-03-08  Simon Josefsson  <jas@extundo.com>
14564
14565         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
14566         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14567
14568 2006-03-08  Simon Josefsson  <jas@extundo.com>
14569
14570         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
14571         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14572
14573 2006-03-08  Simon Josefsson  <jas@extundo.com>
14574
14575         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
14576         signal that configure disabled the device.
14577
14578 2006-03-08  Simon Josefsson  <jas@extundo.com>
14579
14580         * build-aux/maint.mk: Fix refresh-po, to handle no translated
14581         languages.
14582
14583 2006-03-07  Simon Josefsson  <jas@extundo.com>
14584
14585         * modules/getopt (Depends-on): Add unistd.
14586
14587         * modules/unistd: New file.
14588
14589 2006-03-07  Simon Josefsson  <jas@extundo.com>
14590
14591         * modules/gc-random: New file.
14592
14593 2006-03-07  Simon Josefsson  <jas@extundo.com>
14594
14595         * m4/unistd_h.m4: New file.
14596
14597 2006-03-07  Simon Josefsson  <jas@extundo.com>
14598
14599         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
14600         test to be side-effect free by storing the result in the cache
14601         variable gl_cv_lib_readline, and moving the assignment of
14602         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
14603         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14604
14605 2006-03-07  Simon Josefsson  <jas@extundo.com>
14606
14607         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
14608         error on missing devices (the functions will return an error).
14609
14610         * m4/gc.m4: Move random stuff to gc-random.m4
14611
14612 2006-03-07  Simon Josefsson  <jas@extundo.com>
14613
14614         * lib/unistd_.h: New file.
14615
14616 2006-03-07  Simon Josefsson  <jas@extundo.com>
14617
14618         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
14619
14620 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
14621
14622         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
14623         Problem reported by Juan Manuel Guerrero.
14624
14625 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
14626
14627         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
14628         the unistd module.
14629         * lib/getlogin_r.c: Likewise.
14630         * lib/getlogin_r.h: Likewise.
14631         * lib/glob.c: Likewise.
14632         * lib/pagealign_alloc.c: Likewise.
14633         * lib/unistd_.h: Remove; no longer needed.
14634
14635 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
14636
14637         * MODULES.html.sh (Support for systems lacking POSIX:2001):
14638         Add unistd.
14639         * modules/c-stack (Depends-on): Add unistd.
14640         * modules/getlogin_r: Likewise.
14641         * modules/glob: Likewise.
14642         * modules/pagealign_alloc: Likewise.
14643         * modules/unistd (Files): Remove lib/unistd_.h.
14644         (EXTRA_DIST): Remove.
14645         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
14646         need unistd_.h.
14647         (MOSTLYCLEANFILES): Remove unistd.h-t.
14648
14649 2006-03-03  Simon Josefsson  <jas@extundo.com>
14650
14651         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
14652
14653 2006-03-03  Simon Josefsson  <jas@extundo.com>
14654
14655         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
14656         libidn and bison.
14657
14658 2006-03-03  Simon Josefsson  <jas@extundo.com>
14659
14660         * build-aux/maint.mk: Add indent target.
14661
14662 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
14663
14664         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
14665         our replacement poll.h in any case, to avoid a differing
14666         declaration from a system header.  Seen on AIX.
14667
14668 2006-03-01  Simon Josefsson  <jas@extundo.com>
14669
14670         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
14671         <kasal@ucw.cz>.
14672
14673 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
14674
14675         * modules/gettime (Depends-on): Add extensions module.
14676         * modules/nanosleep (Depends-on): Likewise.
14677         * modules/settime (Depends-on): Likewise.
14678
14679 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
14680
14681         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
14682         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
14683         pedantically.
14684         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14685         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
14686
14687         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
14688         not "==".  Reported by Ralf Wildenhues.
14689
14690 2006-03-01  Karl Berry  <karl@gnu.org>
14691
14692         * doc/Copyright/request-*: new files, synced from gnuorg.
14693
14694 2006-03-01  Karl Berry  <karl@gnu.org>
14695
14696         * config/srclist.txt (Copyright/*): new entries.
14697
14698 2006-02-28  Simon Josefsson  <jas@extundo.com>
14699
14700         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
14701
14702 2006-02-27  Simon Josefsson  <jas@extundo.com>
14703
14704         * lib/base64.h: Indent #define's.  From Jim Meyering
14705         <jim@meyering.net>.
14706
14707 2006-02-27  Jim Meyering  <jim@meyering.net>
14708
14709         Revert the change of 2006-02-24, so these files can continue
14710         to be sync'd from gettext.
14711         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
14712         of `config.h'.
14713
14714 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
14715
14716         * modules/intprops: New file.
14717         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
14718         Add intprops.
14719         * modules/getloadavg (Files): Remove lib/intprops.h.
14720         (Depends-on): Add intprops.
14721         * modules/human: Likewise.
14722         * modules/inttostr: Likewise.
14723         * modules/openat: Likewise.
14724         * modules/sig2str: Likewise.
14725         * modules/userspec: Likewise.
14726         * modules/utimecmp: Likewise.
14727         * modules/xnanosleep: Likewise.
14728         * modules/xstrtol: Likewise.
14729
14730 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
14731
14732         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
14733         * modules/lock-tests (TESTS): Use $(EXEEXT).
14734         * modules/tls-tests: Likewise.
14735         * modules/argp-tests: Likewise.
14736         (check_PROGRAMS): New var, replacing...
14737         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
14738
14739 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14740
14741         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
14742         `config.h'.
14743
14744 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
14745
14746         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
14747
14748 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14749
14750         Sync from coreutils.
14751         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
14752         gl_CHDIR_SAFER.
14753
14754 2006-02-22  Jim Meyering  <jim@meyering.net>
14755
14756         Sync from coreutils.
14757         * m4/chdir-safer.m4: New file.
14758
14759 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
14760
14761         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
14762         AT_FDCWD exceeds INT_MAX.
14763         * lib/openat.h (AT_FDCWD): Likewise.
14764
14765 2006-02-17  Eric Blake  <address@hidden>
14766
14767         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
14768
14769 2006-02-16  Simon Josefsson  <jas@extundo.com>
14770
14771         * modules/getaddrinfo (Depends-on): Add sys_socket.
14772
14773 2006-02-15  Simon Josefsson  <jas@extundo.com>
14774
14775         * build-aux/maint.mk: Add dsyntax-check rule.
14776
14777 2006-02-15  Eric Blake  <ebb9@byu.net>
14778
14779         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
14780         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
14781         'present but cannot compile' warnings on cygwin.
14782         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
14783         use ws2tcpip.h if sys/socket.h works.
14784         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
14785         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
14786
14787 2006-02-14  Simon Josefsson  <jas@extundo.com>
14788
14789         * modules/maintainer-makefile (Files): Rename.
14790
14791         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
14792         and (the local) Makefile.cfg to maint-cfg.mk.
14793
14794         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
14795         to the latter.
14796
14797         * modules/maintainer-makefile: New module.
14798
14799         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
14800         severaly stripped to make it possible to build it up from scratch
14801         with reliable tests.
14802
14803         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
14804         fixes to permit overriding the default actions when configure and
14805         makefile are not available.
14806
14807 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
14808
14809         Sync from coreutils.
14810         * modules/lstat (Depends-on): Don't depend on xalloc.
14811         (License): Change from GPL to LGPL, since this is now simply a
14812         replacement for a libc function.
14813
14814 2006-02-14  Jim Meyering  <jim@meyering.net>
14815
14816         Sync from coreutils.
14817
14818         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
14819         failure on deficient systems, and simplify gnulib lgpl dependencies.
14820         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
14821         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
14822
14823         * lib/xalloc-die.c: Remove unused definition of N_.
14824
14825 2006-02-14  Jim Meyering  <jim@meyering.net>
14826
14827         Sync from coreutils.
14828         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
14829         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
14830         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
14831         double-quote uses of that variable, to accommodate the rare case in
14832         which getmntent is available in none of the libraries checked.  This
14833         happens at least on FreeBSD 5.0.
14834
14835 2006-02-13  Simon Josefsson  <jas@extundo.com>
14836
14837         * gnulib-tool (Usage): Fix --import, from
14838         karl@freefriends.org (Karl Berry).
14839
14840 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
14841
14842         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
14843
14844 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
14845
14846         * lib/argp-namefrob.h: Restore changes accidentally lost during the
14847         "autoupdate" on 2005-12-12.
14848
14849 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
14850
14851         * modules/closeout (Depends-on): Remove atexit.
14852
14853 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
14854
14855         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
14856         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
14857
14858 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
14859
14860         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
14861         __EXTENSIONS__ if this causes compilation to fail.  Problem
14862         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
14863         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
14864
14865 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
14866
14867         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
14868         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
14869         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
14870         All uses changed.
14871
14872 2006-01-26  Simon Josefsson  <jas@extundo.com>
14873
14874         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
14875         prototype is visible on mingw32.
14876
14877         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
14878         for mingw32.
14879
14880         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
14881         mingw32).
14882
14883 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
14884
14885         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
14886         attempt to open for write; this always fails, at least on POSIX
14887         hosts.  This reinstates the 2006-01-09 change, which was
14888         inadvertently removed.
14889
14890 2006-01-26  Bruno Haible  <bruno@clisp.org>
14891
14892         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
14893         Reported by Paul Eggert.
14894
14895 2006-01-26  Bruno Haible  <bruno@clisp.org>
14896             Paul Eggert  <eggert@cs.ucla.edu>
14897
14898         * lib/stdbool_.h (_Bool)
14899         [(! (defined __cplusplus || defined __BEOS__)
14900           && !defined __GNUC__
14901           && !(defined __HP_cc || defined __xlc__
14902                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
14903                || defined __sgi))]:
14904         #define to signed char in these cases too; this simplifies
14905         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
14906         etc., separately) and makes it more conservative.
14907
14908 2006-01-25  Simon Josefsson  <jas@extundo.com>
14909
14910         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
14911         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
14912         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
14913
14914 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
14915
14916         * lib/argp-namefrob.h: Bugfix. Remove stray #
14917
14918 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
14919
14920         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
14921         so that we test the test.
14922         Check for yet another HP-UX cc bug involving *bool |= bool.
14923
14924 2006-01-25  Karl Berry  <karl@gnu.org>
14925
14926         * config/srclist.txt (vasnprintf.c): sync lost.
14927
14928 2006-01-25  Jim Meyering  <jim@meyering.net>
14929
14930         Sync from the stable (b5) branch of coreutils:
14931
14932         * lib/fts.c (fts_children): Don't let close() clobber errno from
14933         failed fchdir().
14934
14935         * lib/fts.c (fts_stat): When following a symlink-to-directory,
14936         don't necessarily interpret stat-fails+lstat-succeeds as indicating
14937         a dangling symlink.  That can also happen at least for ELOOP.
14938         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
14939         FYI, this bug predates the inclusion of fts.c in coreutils.
14940
14941         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
14942         in their own block, so pre-c99 compilers don't object.
14943
14944         Avoid the double-free (first in fts_read, second in fts_close) that
14945         would occur when an `active' directory is made inaccessible (e.g.,
14946         via chmod a-x) during a traversal.
14947         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
14948         before returning.  Reproduce this failure by
14949         mkdir -p a/b; cd a; chmod a-x . b
14950         Reported by Stavros Passas.
14951
14952 2006-01-25  Jim Meyering  <jim@meyering.net>
14953
14954         * lib/fileblocks.c: Remove more useless parentheses.
14955         * lib/readutmp.h: Likewise.
14956
14957 2006-01-25  Bruno Haible  <bruno@clisp.org>
14958
14959         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
14960         warnings.
14961         Reported by Paul Eggert.
14962
14963 2006-01-25  Bruno Haible  <bruno@clisp.org>
14964
14965         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
14966         rid of a trap command. For Solaris sh.
14967         Reported by Mark D. Baushke <mdb@gnu.org>.
14968
14969 2006-01-24  Simon Josefsson  <jas@extundo.com>
14970
14971         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
14972         Bruno.
14973
14974 2006-01-24  Karl Berry  <karl@gnu.org>
14975
14976         * config/srclist.txt (argp-namefrob.h): sync lost.
14977
14978 2006-01-24  Jim Meyering  <jim@meyering.net>
14979
14980         * modules/openat (Files): Add lib/intprops.h.
14981         From Mark D. Baushke.
14982
14983 2006-01-24  Jim Meyering  <jim@meyering.net>
14984
14985         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
14986         Reported by Mark D. Baushke.
14987
14988 2006-01-24  Jim Meyering  <jim@meyering.net>
14989
14990         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
14991
14992 2006-01-24  Bruno Haible  <bruno@clisp.org>
14993
14994         * modules/strnlen (Maintainer): Change from glibc to all.
14995
14996 2006-01-24  Bruno Haible  <bruno@clisp.org>
14997
14998         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
14999         Patch by Paul Eggert.
15000
15001 2006-01-24  Bruno Haible  <bruno@clisp.org>
15002
15003         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
15004         already has it.
15005         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
15006         2005-11-26.
15007
15008         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
15009         'signed char' to avoid problems with the built-in _Bool type.
15010         Reported by Paul Eggert on 2005-11-26.
15011
15012 2006-01-24  Bruno Haible  <bruno@clisp.org>
15013
15014         * gnulib-tool (func_import): Avoid constructing complicated sed
15015         expressions inside backquote.
15016         Report and solution by Mark D. Baushke <mdb@gnu.org>.
15017
15018 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
15019
15020         These changes imported from libc.
15021         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
15022         test and two separate function calls.
15023         * lib/strndup.c (__strndup): Add libc_hidden_def.
15024
15025 2006-01-23  Simon Josefsson  <jas@extundo.com>
15026
15027         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
15028         Remove the test_*_SOURCES variable: automake infers it by default.
15029         * modules/tls-tests: Likewise.
15030
15031 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
15032
15033         Work around porting bugs reported by Dieter in
15034         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
15035         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
15036         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
15037         Include "getopt.h" first, to check interface.
15038         (getenv): Declare only if defined HAVE_DECL_GETENV &&
15039         !HAVE_DECL_GETENV.
15040         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
15041         (__strndup): Revert to K&R-style function dfns, the glibc style.
15042         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
15043         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
15044         Include strnlen.h first, to get prototype properly.
15045         (strnlen): Renamed from __strnlen.
15046         Remove weak alias.
15047
15048 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
15049
15050         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
15051
15052 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
15053
15054         * config/srclist.txt: Adjust to reflect glibc reorganization.
15055         This affects only comments.
15056
15057 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
15058
15059          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
15060          Reported by Bruce Korb <bkorb@gnu.org>.
15061
15062 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
15063
15064         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
15065         to pacify gcc -Wswitch-default.
15066
15067 2006-01-22  Bruno Haible  <bruno@clisp.org>
15068
15069         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
15070         temporary buffer for sprintf, take into account the precision also
15071         for 'd', 'i', 'u', 'o', 'x', 'X'.
15072
15073 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
15074
15075         * modules/argp-tests: New module
15076         * tests/test-argp.c: New file
15077         * tests/test-argp-2.sh: New file
15078
15079 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
15080
15081         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
15082         (__argp_base_name): Removed
15083         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
15084         typo.
15085         (__argp_base_name): Provide macro definition or extern declaration
15086         depending on the configuration
15087
15088 2006-01-20  Simon Josefsson  <jas@extundo.com>
15089
15090         * modules/inet_ntop (Depends-on): Depend on sys_socket.
15091
15092 2006-01-20  Simon Josefsson  <jas@extundo.com>
15093
15094         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
15095
15096 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
15097
15098         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
15099         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
15100         Suggested by Bruno Haible.
15101
15102 2006-01-20  Karl Berry  <karl@gnu.org>
15103
15104         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
15105         until changes propagate, I guess.
15106
15107 2006-01-19  Simon Josefsson  <jas@extundo.com>
15108
15109         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
15110
15111 2006-01-19  Simon Josefsson  <jas@extundo.com>
15112
15113         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
15114
15115 2006-01-19  Simon Josefsson  <jas@extundo.com>
15116
15117         * gnulib-tool: Set check_PROGRAMS.
15118
15119         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
15120         modules/des-tests, modules/gc-arcfour-tests,
15121         modules/gc-arctwo-tests, modules/gc-des-tests,
15122         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
15123         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
15124         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
15125         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
15126         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
15127         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
15128         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
15129         test_*_SOURCES.
15130
15131 2006-01-18  Simon Josefsson  <jas@extundo.com>
15132
15133         * modules/socklen (Depends-on): Depend on sys_socket.
15134
15135 2006-01-18  Simon Josefsson  <jas@extundo.com>
15136
15137         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
15138         modules/des-tests, modules/gc-arcfour-tests,
15139         modules/gc-arctwo-tests, modules/gc-des-tests,
15140         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
15141         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
15142         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
15143         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
15144         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
15145         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
15146         $(EXEEXT) to automake TESTS variable, for mingw32.
15147
15148 2006-01-17  Simon Josefsson  <jas@extundo.com>
15149
15150         * modules/socklen (Include): Need sys/socket.h.
15151
15152 2006-01-17  Bruno Haible  <bruno@clisp.org>
15153
15154         * modules/ssize_t (Include): Add <sys/types.h>.
15155
15156 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
15157
15158         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
15159         it's not portable and it doesn't work with cross-compiles.
15160         Problem reported by Bruno Haible.  Fix missing-$ typo in
15161         'test "gl_cv_ignore_unused_libraries" ...' that prevented
15162         -zignore from being used with Sun's C compiler.
15163
15164 2006-01-12  Simon Josefsson  <jas@extundo.com>
15165
15166         * lib/base64.c: Fix warning, reported by Bruno Haible
15167         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
15168
15169 2006-01-12  Bruno Haible  <bruno@clisp.org>
15170
15171         * modules/ldd: New file.
15172         * build-aux/ldd.sh.in: New file.
15173         * MODULES.html.sh (Support for building libraries and executables): Add
15174         ldd.
15175
15176 2006-01-12  Bruno Haible  <bruno@clisp.org>
15177
15178         * m4/ldd.m4: New file.
15179
15180 2006-01-12  Bruno Haible  <bruno@clisp.org>
15181
15182         * gnulib-tool (func_import, func_create_testdir): Don't go into an
15183         endless loop while replacing $auxdir with build-aux.
15184
15185 2006-01-11  Simon Josefsson  <jas@extundo.com>
15186
15187         * lib/stdint_.h (SIZE_MAX): Add missing (.
15188
15189 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
15190
15191         Sync from coreutils.
15192         * lib/md5.c: Fix commentary typos.
15193         (alignof, UNALIGNED_P): No need for a GCC-specific version.
15194         * lib/md5.h (__attribute__): Remove; unused.
15195         * lib/sha1.c: Fix commentary to match md5 better.
15196         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
15197         so that we don't need to worry about alignment.  All uses changed.
15198         This merges the 2005-10-28 md5 change into sha1.
15199
15200 2006-01-11  Jim Meyering  <jim@meyering.net>
15201
15202         Sync from coreutils.
15203         * lib/md5.c (OP): Fix spacing.
15204
15205 2006-01-11  Bruno Haible  <bruno@clisp.org>
15206
15207         Ensure automatic ordering between gl_LOCK and gl_ARGP.
15208         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
15209         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
15210
15211 2006-01-11  Bruno Haible  <bruno@clisp.org>
15212
15213         Ensure automatic ordering between gl_LOCK and gl_ARGP.
15214         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
15215         the "early" section as well.
15216
15217 2006-01-11  Bruno Haible  <bruno@clisp.org>
15218
15219         Avoid "ar: no archive members specified" error on MacOS X.
15220         * gnulib-tool (func_modules_add_dummy): New function.
15221         (func_import, func_create_testdir): Invoke it.
15222
15223 2006-01-11  Bruno Haible  <bruno@clisp.org>
15224
15225         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
15226         with $auxdir in AC_CONFIG_FILES statements.
15227
15228 2006-01-11  Bruno Haible  <bruno@clisp.org>
15229
15230         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
15231         Initialize also noinst_HEADERS to empty.
15232
15233 2006-01-11  Bruno Haible  <bruno@clisp.org>
15234
15235         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
15236         variables.
15237         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
15238         autoreconf.
15239
15240 2006-01-11  Bruno Haible  <bruno@clisp.org>
15241
15242         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
15243         overridable by the user.
15244         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15245
15246 2006-01-10  Simon Josefsson  <jas@extundo.com>
15247
15248         * modules/sys_socket: New file.
15249
15250 2006-01-10  Simon Josefsson  <jas@extundo.com>
15251
15252         * m4/sys_socket_h.m4: New file.
15253
15254 2006-01-10  Simon Josefsson  <jas@extundo.com>
15255
15256         * lib/socket_.h: New file.
15257
15258 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
15259
15260         * modules/readutmp (Maintainer): Add myself.
15261
15262 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
15263
15264         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
15265         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
15266         People who are still concerned with buggy memcmp implementations
15267         can invoke gl_FUNC_MEMCMP themselves.
15268
15269 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
15270
15271         * lib/regex_internal.h (BITSET_WORD_BITS):
15272         Work around a bug in 64-bit PGC (before version 6.1-2), where the
15273         preprocessor mishandles large unsigned values as if they were signed.
15274         Problem reported by Claudio Fontana in
15275         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
15276
15277 2006-01-10  Jim Meyering  <jim@meyering.net>
15278
15279         Avoid the double-free (first in fts_read, second in fts_close) that
15280         would occur when an `active' directory is made inaccessible (e.g.,
15281         via chmod a-x) during a traversal.
15282         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
15283         before returning.  Reproduce this failure by
15284         mkdir -p a/b; cd a; chmod a-x . b
15285         Reported by Stavros Passas.
15286
15287         Sync from coreutils.
15288         * lib/sha1.c: Tweak grammar in a comment.
15289
15290 2006-01-10  Jim Meyering  <jim@meyering.net>
15291
15292         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
15293         Patch by Joerg Sonnenberger.
15294
15295 2006-01-10  Bruno Haible  <bruno@clisp.org>
15296
15297         * modules/readutmp: Depend on module free.
15298         * modules/strtok_r: Depend on module restrict.
15299
15300 2006-01-10  Bruno Haible  <bruno@clisp.org>
15301
15302         * modules/gettext (configure.ac): Add an invocation of
15303         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
15304
15305 2006-01-10  Bruno Haible  <bruno@clisp.org>
15306
15307         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
15308         Reported by Werner Lemberg <wl@gnu.org>.
15309
15310 2006-01-10  Bruno Haible  <bruno@clisp.org>
15311
15312         * lib/localcharset.c: Update from GNU gettext.
15313
15314 2006-01-10  Bruno Haible  <bruno@clisp.org>
15315
15316         * lib/argp.h (__const): Remove macro. Use const instead.
15317         * lib/argp-fmtstream.h (__const): Likewise.
15318         * lib/glob_.h (__const): Remove macro.
15319         * lib/glob-libc.h: Use const instead of __const.
15320
15321 2006-01-10  Bruno Haible  <bruno@clisp.org>
15322
15323         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
15324         variable.
15325         Needed to avoid an automake error regarding the 'gettext' module.
15326
15327 2006-01-09  Simon Josefsson  <jas@extundo.com>
15328
15329         * modules/inet_ntop (Depends-on): Add restrict.
15330
15331 2006-01-09  Simon Josefsson  <jas@extundo.com>
15332
15333         * modules/gc-rijndael-tests (License): Put under LGPL.
15334
15335         * modules/gc-des-tests (License): Likewise.
15336
15337         * modules/gc-arcfour-tests (License): Likewise.
15338
15339         * modules/gc-arctwo-tests (License): Likewise.
15340
15341         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
15342
15343         * modules/gc-hmac-sha1-tests (Files): Likewise.
15344
15345         * modules/gc-hmac-md5-tests (License): Likewise.
15346
15347         * modules/gc-sha1-tests (License): Likewise.
15348
15349         * modules/gc-md5-tests (License): Likewise.
15350
15351         * modules/gc-md4-tests (License): Likewise.
15352
15353         * modules/gc-md2-tests (License): Likewise.
15354
15355         * modules/gc-tests (License): Likewise.
15356
15357         * modules/des-tests (License): Likewise.
15358
15359         * modules/md4-tests (License): Likewise.
15360
15361         * modules/md2-tests (License): Likewise.
15362
15363 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
15364
15365         Sync from coreutils:
15366
15367         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
15368         * modules/lib-ignore: New file.
15369         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
15370         chdir-safer.m4, lchmod.m4.
15371         * modules/openat: Add mkdirat.c, openat-priv.h.
15372
15373 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
15374
15375         Sync from coreutils.
15376         * m4/lib-ignore.m4: New file.
15377         * m4/lchmod.m4: New file.
15378
15379 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
15380
15381         Sync from coreutils.
15382         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
15383         for write access: POSIX says that must fail.
15384         * lib/fts.c (diropen): Likewise.
15385         * lib/save-cwd.c (save_cwd): Likewise.
15386         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
15387         well, for minor improvements on hosts that lack O_DIRECTORY.
15388         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
15389         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
15390         Fall back on chown if open failed with EACCES.
15391
15392         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
15393         Report an error at compile-time if only a 1-second nominal clock
15394         resolution is found.
15395
15396         * lib/lchmod.h: New file.
15397         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
15398         (make_dir_parents): Use lchown rather than chown, and
15399         lchmod rather than chmod.
15400
15401         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
15402         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
15403         "proc" reported by n0dalus.
15404
15405         * lib/mountlist.c: Include <limits.h>.
15406         (dev_from_mount_options)
15407         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
15408         New function.  It no longer assumes "dev=" has the System V meaning
15409         on Linux (since it doesn't).  It also parses "dev=" more carefully.
15410         (read_file_system_list)
15411         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
15412         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
15413         dev= in that case.
15414
15415         * lib/posixtm.h (PDS_PRE_2000): New macro.
15416         * lib/posixtm.c (year): Arg is now syntax_bits rather than
15417         allow_century.  All usages changed.  Reject dates outside the range
15418         1969-1999 if PDS_PRE_2000 is used.
15419
15420 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
15421
15422         Sync from coreutils.
15423         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
15424         (Time of day items): Mention the possibility of leap seconds.
15425         Problem reported by Dr. David Alan Gilbert.
15426
15427 2006-01-09  Jim Meyering  <jim@meyering.net>
15428
15429         Sync from coreutils.
15430
15431         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
15432
15433         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
15434
15435         * lib/modechange.c (mode_compile): Reject an invalid mode string
15436         that starts with an octal digit.  From Andreas Gruenbacher.
15437
15438         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
15439         and dup to open_safer and dup_safer, respectively.
15440         (openat_permissive): Fix typo in comment.
15441
15442         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
15443         "gettext.h"; either no longer needed or are guaranteed by openat.h.
15444         (_): Remove; no longer needed.
15445         (openat): Renamed from rpl_openat; no need for rpl_openat
15446         since openat.h renames openat for us.
15447         Replace most of the body with a call to openat_permissive,
15448         to avoid duplicate code.
15449         Port to (probably hypothetical) environments were mode_t is
15450         wider than int.
15451         (openat_permissive): Require mode arg, so that we can check
15452         types better.  Put it just after flags.  Change cwd failure
15453         indicator from pointer-to-bool to pointer-to-errno-value.
15454         All callers changed.
15455         Invoke openat_save_fail and/or openat_restore_fail if
15456         cwd_errno is null, so that openat can call us.
15457         (openat_permissive, fdopendir, fstatat, unlinkat):
15458         Simplify errno handling to avoid some duplicate code,
15459         as it's OK to set errno on success.
15460         * lib/openat.h: Revamp code so that function macros depend on
15461         __OPENAT_PREFIX only, not also on AT_FDCWD.
15462         (openat_ro): Remove.  Caller changed to use openat_permissive.
15463         (openat_permissive): Now a macro, if not a function.
15464         (openat_restore_fail, openat_save_fail): Now always functions,
15465         since mkdirat needs them even if __OPENAT_PREFIX is defined.
15466
15467         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
15468         and openat.c.
15469         * lib/mkdirat.c: Include openat-priv.h.
15470         Remove definitions of macros defined therein.
15471         * lib/openat.c: Likewise.
15472
15473         * lib/mkdirat.c (mkdirat): New file and function.
15474         * lib/openat.h (mkdirat): Declare.
15475
15476         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
15477
15478         * lib/openat.h (openat_permissive): Declare.
15479         (openat_ro): Define.
15480
15481         * lib/openat.c (EXPECTED_ERRNO): New macro.
15482         (openat_permissive): New function -- used in remove.c rewrite.
15483         (all functions): Set errno just before returning, only if there
15484         was an actual failure.
15485         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
15486
15487         Emulate openat-family functions using Linux's procfs, if possible.
15488         Idea and some code based on Ulrich Drepper's glibc changes.
15489
15490         * lib/openat.c: (BUILD_PROC_NAME): New macro.
15491         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
15492         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
15493         before falling back on save_cwd and restore_cwd.
15494         (fdopendir, fstatat, unlinkat): Likewise.
15495
15496         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
15497         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
15498
15499         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
15500         as second argument to va_arg.  Otherwise, some versions of gcc
15501         warn that `if this code is reached, the program will abort'.
15502
15503 2006-01-09  Jim Meyering  <jim@meyering.net>
15504
15505         Sync from coreutils.
15506         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
15507         Require openat-priv.h.
15508
15509 2006-01-09  Bruno Haible  <bruno@clisp.org>
15510
15511         * modules/strnlen (Include): Use strnlen.h.
15512
15513 2006-01-09  Bruno Haible  <bruno@clisp.org>
15514
15515         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
15516
15517 2006-01-09  Bruno Haible  <bruno@clisp.org>
15518
15519         * lib/sysexit_.h (EX_OK): New macro.
15520         Suggested by Martin Lambers <marlam@marlam.de>.
15521
15522 2006-01-09  Bruno Haible  <bruno@clisp.org>
15523
15524         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
15525         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
15526
15527 2006-01-09  Bruno Haible  <bruno@clisp.org>
15528
15529         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
15530         numbers.
15531
15532 2006-01-09  Bruno Haible  <bruno@clisp.org>
15533
15534         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
15535         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
15536         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
15537         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
15538
15539 2006-01-09  Bruno Haible  <bruno@clisp.org>
15540
15541         * build-aux/javacomp.sh.in: New file, moved from lib/.
15542         * modules/javacomp-script (Files): Update.
15543         (configure.ac): Add AC_CONFIG_FILES invocation.
15544         (EXTRA_DIST): Remove variable.
15545
15546         * build-aux/javaexec.sh.in: New file, moved from lib/.
15547         * modules/javaexec (Files): Update.
15548         (configure.ac): Add AC_CONFIG_FILES invocation.
15549         (EXTRA_DIST): Remove javaexec.sh.in.
15550
15551         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
15552         * modules/csharpcomp-script (Files): Update.
15553         (configure.ac): Add AC_CONFIG_FILES invocation.
15554         (EXTRA_DIST): Remove variable.
15555
15556         * build-aux/csharpexec.sh.in: New file, moved from lib/.
15557         * modules/csharpexec (Files): Update.
15558         (configure.ac): Add AC_CONFIG_FILES invocation.
15559         (EXTRA_DIST): Remove csharpexec.sh.in.
15560
15561 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
15562
15563         Sync from coreutils.
15564
15565         Add POSIX ACL support
15566         * lib/acl.h (copy_acl, set_acl): Add declarations.
15567         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
15568         systems other than Linux.
15569         (chmod_or_fchmod): New function: use fchmod when possible,
15570         and chmod otherwise.
15571         (file_has_acl): Add a POSIX ACL implementation, with a
15572         Linux-specific subcase.
15573         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
15574         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
15575         acls are unsupported.
15576         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
15577         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
15578         are unsupported.
15579
15580 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
15581
15582         Sync from coreutils.
15583         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
15584
15585 2006-01-07  Bruno Haible  <bruno@clisp.org>
15586
15587         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
15588         gl_EARLY.
15589
15590 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
15591
15592         * lib/strftime.c (tzname): Don't declare if it is already #defined.
15593         Problem reported for Mingw by Mark Junker.
15594
15595 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
15596
15597         * README: Gnulib normally doesn't generate a tarball.
15598
15599 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
15600
15601         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
15602         long int, not int, for nanosecond counts, so that people who are
15603         used to POSIX struct timespec won't be surprised.  Reported by Jim
15604         Meyering.
15605
15606 2005-12-28  Bruno Haible  <bruno@clisp.org>
15607
15608         * build-aux/config.rpath: Update from GNU gettext.
15609
15610 2005-12-16  Jim Meyering  <jim@meyering.net>
15611
15612         * modules/fprintftime: New module.
15613         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
15614
15615 2005-12-16  Jim Meyering  <jim@meyering.net>
15616
15617         * m4/fprintftime.m4: New file.
15618
15619 2005-12-16  Jim Meyering  <jim@meyering.net>
15620
15621         * lib/fprintftime.c, lib/fprintftime.h: New files.
15622
15623 2005-12-15  Simon Josefsson  <jas@extundo.com>
15624
15625         * modules/socklen (configure.ac): Fix M4 macro name, to align with
15626         new m4/socklen.m4.
15627
15628 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
15629
15630         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
15631         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
15632
15633 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
15634
15635         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
15636         * lib/argp-help.c (fill_in_uparams): Check if the constructed
15637         struct uparams is valid. Fall back to the default values if it is
15638         not.
15639
15640 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
15641
15642         * modules/argp (Files): Add argp-pin.c
15643         (Depends-on): dirname
15644         (lib_SOURCES): Add argp-pin.c
15645
15646 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
15647
15648         * m4/argp.m4:  Check if program_invocation_name and
15649         program_invocation_short_name are declared and define appropriate
15650         macros if they are not.
15651
15652 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
15653
15654         * lib/argp-help.c (__argp_base_name): New function
15655         (__argp_short_program_name): Rewrite using __argp_base_name
15656         * lib/argp-namefrob.h: Define program_invocation_name and
15657         program_invocation_short_name if requested
15658         (__argp_base_name): Add prototype
15659         * lib/argp-parse.c (argp_def): Use gettext wrappers
15660         (argp_default_parser): Use __argp_base_name
15661         * lib/argp-pin.c: New file. Defines program_invocation_name and
15662         program_invocation_short_name on systems that lack them.
15663
15664 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
15665
15666         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
15667         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
15668         porting problem reported by Georg Schwarz in
15669         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
15670
15671 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
15672
15673         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
15674         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
15675         porting problem reported by Georg Schwarz in
15676         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
15677
15678 2005-12-05  Bruno Haible  <bruno@clisp.org>
15679
15680         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
15681         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
15682         Reported by Mark Junker <mjscod@gmx.de>.
15683
15684 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
15685
15686         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
15687         Use implementation from Albert Chin, with some
15688         comments/corrections by Stepan Kasal and myself.
15689
15690 2005-12-02  Bruno Haible  <bruno@clisp.org>
15691
15692         * gnulib-tool (func_import): Accept GPLed build tool modules when
15693         --lgpl is given.
15694         * modules/csharpcomp-script: New file.
15695         * modules/csharpcomp: Depend on it.
15696         * modules/javacomp-script: New file.
15697         * modules/javacomp: Depend on it.
15698         Suggested by Simon Josefsson.
15699
15700 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
15701
15702         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
15703         statement, to work around an HP-UX 10.20 compiler bug reported by
15704         Peter O'Gorman.
15705
15706 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
15707
15708         * modules/savedir (Depends-on): Add openat.
15709
15710 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
15711
15712         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
15713         (uintmax_t) [defined uintmax_t]: Do not declare.
15714         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
15715         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
15716         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
15717         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
15718         sake of portability to weird hosts that C allows (though we don't
15719         know of any practical examples).
15720
15721         * lib/savedir.h (fdsavedir): New decl.
15722         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
15723         contains most of the former guts of savedir.
15724         (savedir): Use savedirstream.
15725         Include "openat.h".
15726
15727 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
15728
15729         * modules/obstack (Files): Add m4/ulonglong.m4.
15730         Problem reported by Davide Angelocola.
15731
15732 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
15733
15734         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
15735         coreutils no longer futzes with rounding modes.
15736
15737 2005-11-14  Jim Meyering  <jim@meyering.net>
15738
15739         * lib/mkstemp-safer.c: Include <config.h>, required for possible
15740         replacement of mkstemp.
15741
15742 2005-11-10  Simon Josefsson  <jas@extundo.com>
15743
15744         * lib/readline.c: Remove EOL.
15745
15746 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
15747
15748         * modules/gethrxtime (Depends-on): Add gettime.
15749
15750 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
15751
15752         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
15753         or gettimeofday; no longer needed.
15754
15755 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
15756
15757         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
15758         time business.
15759         (gethrxtime) [! (HAVE_NANOUPTIME
15760         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
15761         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
15762         our own approximation.
15763
15764 2005-11-08  Eric Blake  <ebb9@byu.net>
15765
15766         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
15767
15768 2005-11-08  Eric Blake  <ebb9@byu.net>
15769
15770         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
15771
15772 2005-11-04  Bruno Haible  <bruno@clisp.org>
15773
15774         * gnulib-tool: Implement --update mode.
15775
15776 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
15777
15778         Fix porting problem reported by Theodoros V. Kalamatianos.
15779         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
15780         Don't assume that futimes failing means we must fail.
15781
15782 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
15783
15784         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
15785         variables to suggest the intended function of the PATH_MAX check.
15786
15787 2005-10-30  Kean Johnston  <jkj@sco.com>
15788
15789         Trivial changes to support SCO systems.
15790         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
15791         as PATH_MAX.
15792         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
15793         where __ptr is null when no I/O is pending.
15794
15795 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
15796
15797         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
15798         leave errno alone.  Problem reported by Dmitry V. Levin.
15799
15800 2005-10-28  Simon Josefsson  <jas@extundo.com>
15801
15802         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
15803         Test more.
15804
15805         * tests/test-gc-md2.c, tests/test-md2.c: New files.
15806
15807         * modules/md2, modules/md2-tests: New files.
15808
15809 2005-10-28  Simon Josefsson  <jas@extundo.com>
15810
15811         * m4/inet_ntop.m4: More tests.
15812
15813         * m4/gc-md2.m4, md2.m4: New file.
15814
15815 2005-10-28  Simon Josefsson  <jas@extundo.com>
15816
15817         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
15818         "restrict" keywords, as per POSIX.  Protect the function
15819         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
15820         Don't use K&R prototypes.  Check the sprintf return values.
15821         Re-define EAFNOSUPPORT if not present.  Indent.
15822
15823         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
15824         suggested by Bruno Haible <bruno@clisp.org>.
15825
15826         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
15827
15828         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
15829
15830         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
15831         libgcrypt).
15832
15833         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
15834
15835         * lib/md2.h, lib/md2.c: New files.
15836
15837 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
15838
15839         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
15840         errno alone.  Problem reported by Frederic Jolliton.
15841
15842 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
15843
15844         * modules/verify (License): Change from GPL to LGPL.  This is a
15845         tiny module and there are apparently near-equivalents that are
15846         under the BSD license.
15847
15848 2005-10-24  Simon Josefsson  <jas@extundo.com>
15849
15850         * modules/sha1: Relicense to LGPL.
15851
15852 2005-10-24  Simon Josefsson  <jas@extundo.com>
15853
15854         * lib/md4.h: Shrink buffer size, now that we changed the type.
15855
15856 2005-10-23  Simon Josefsson  <jas@extundo.com>
15857
15858         * gnulib-tool (func_import): Fix --tests-base.
15859
15860 2005-10-22  Simon Josefsson  <jas@extundo.com>
15861
15862         * modules/arcfour (Depends-on): Need stdint.
15863
15864 2005-10-22  Simon Josefsson  <jas@extundo.com>
15865
15866         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
15867         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
15868
15869 2005-10-22  Simon Josefsson  <jas@extundo.com>
15870
15871         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
15872         suggested by Bruno Haible <bruno@clisp.org>.
15873
15874 2005-10-22  Simon Josefsson  <jas@extundo.com>
15875
15876         * lib/crc.h: Include stddef.h, for size_t.
15877
15878 2005-10-22  Simon Josefsson  <jas@extundo.com>
15879
15880         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
15881         arcfour_context struct (simplify test vector testing in GNU
15882         Shishi).
15883
15884 2005-10-21  Simon Josefsson  <jas@extundo.com>
15885
15886         * modules/des, modules/des-tests: New files.
15887
15888         * modules/gc-des, modules/gc-des-tests: New files.
15889
15890         * tests/test-des.c, tests/test-gc-des.c: New file.
15891
15892 2005-10-21  Simon Josefsson  <jas@extundo.com>
15893
15894         * modules/arctwo, modules/arctwo-tests: New files.
15895
15896         * tests/test-arctwo.c: New file.
15897
15898         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
15899
15900         * tests/test-gc-arctwo.c: New file.
15901
15902 2005-10-21  Simon Josefsson  <jas@extundo.com>
15903
15904         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
15905         Bruno Haible <bruno@clisp.org>.
15906
15907         * m4/gc-des.m4: New file.
15908
15909 2005-10-21  Simon Josefsson  <jas@extundo.com>
15910
15911         * m4/arctwo.m4: New file.
15912
15913         * m4/gc-arctwo.m4: New file.
15914
15915 2005-10-21  Simon Josefsson  <jas@extundo.com>
15916
15917         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
15918         block.
15919
15920 2005-10-21  Simon Josefsson  <jas@extundo.com>
15921
15922         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
15923         <bruno@clisp.org>.
15924
15925         * lib/hmac-sha1.c (hmac_sha1): Likewise.
15926
15927         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
15928         Bruno Haible <bruno@clisp.org>.
15929
15930         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
15931         <bruno@clisp.org>.
15932
15933 2005-10-21  Simon Josefsson  <jas@extundo.com>
15934
15935         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
15936
15937 2005-10-21  Simon Josefsson  <jas@extundo.com>
15938
15939         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
15940
15941 2005-10-21  Simon Josefsson  <jas@extundo.com>
15942
15943         * lib/des.h, lib/des.c: New files.
15944
15945         * lib/gc-gnulib.c: Support DES.c
15946
15947 2005-10-21  Simon Josefsson  <jas@extundo.com>
15948
15949         * lib/arctwo.h, lib/arctwo.c: New files.
15950
15951         * lib/gc-gnulib.c: Support ARCTWO.
15952
15953 2005-10-21  Simon Josefsson  <jas@extundo.com>
15954
15955         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
15956         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15957
15958 2005-10-21  Simon Josefsson  <jas@extundo.com>
15959
15960         * gnulib-tool (func_import, func_create_testdir): Define automake
15961         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
15962         Makefile.am snippet),
15963         suggested by Bruno Haible <bruno@clisp.org>.
15964
15965         * modules/gc (Makefile.am): Use it.
15966
15967 2005-10-21  Bruno Haible  <bruno@clisp.org>
15968
15969         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
15970         patch.
15971
15972 2005-10-19  Simon Josefsson  <jas@extundo.com>
15973
15974         * tests/test-gc-rijndael.c: New file.
15975
15976         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
15977
15978 2005-10-19  Simon Josefsson  <jas@extundo.com>
15979
15980         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
15981         interface too.
15982
15983 2005-10-19  Simon Josefsson  <jas@extundo.com>
15984
15985         * tests/test-gc-arcfour.c: New file.
15986
15987         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
15988
15989 2005-10-19  Simon Josefsson  <jas@extundo.com>
15990
15991         * modules/gc-md4, modules/gc-md4-tests: New file.
15992
15993         * tests/test-gc-md4.c: New file.
15994
15995 2005-10-19  Simon Josefsson  <jas@extundo.com>
15996
15997         * m4/gc-md4.m4: New file.
15998
15999 2005-10-19  Simon Josefsson  <jas@extundo.com>
16000
16001         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
16002         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
16003         <kasal@ucw.cz>.
16004
16005 2005-10-19  Simon Josefsson  <jas@extundo.com>
16006
16007         * m4/gc-arcfour.m4: New file.
16008
16009         * m4/gc-rijndael.m4: New file.
16010
16011 2005-10-19  Simon Josefsson  <jas@extundo.com>
16012
16013         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
16014
16015 2005-10-19  Simon Josefsson  <jas@extundo.com>
16016
16017         * lib/gc-gnulib.c: Support ARCFOUR.
16018
16019 2005-10-19  Simon Josefsson  <jas@extundo.com>
16020
16021         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
16022         support.
16023
16024         * lib/gc.h: Add ECB enum type.
16025
16026         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
16027
16028 2005-10-18  Simon Josefsson  <jas@extundo.com>
16029
16030         * tests/test-md5.c: New file.
16031
16032         * modules/md5-tests: New file.
16033
16034 2005-10-18  Simon Josefsson  <jas@extundo.com>
16035
16036         * tests/test-md4.c: New file.
16037
16038         * modules/md4, modules/md4-tests: New files.
16039
16040 2005-10-18  Simon Josefsson  <jas@extundo.com>
16041
16042         * m4/md4.m4: New file.
16043
16044 2005-10-18  Simon Josefsson  <jas@extundo.com>
16045
16046         * lib/md4.h, lib/md4.c: New files, based on md5.?.
16047
16048 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
16049
16050         * gnulib-tool (func_create_testdir): Omit the second check whether
16051         BUILT_SOURCES in nonempty.
16052
16053 2005-10-17  Simon Josefsson  <jas@extundo.com>
16054
16055         * tests/test-rijndael.c: New file.
16056
16057 2005-10-17  Simon Josefsson  <jas@extundo.com>
16058
16059         * modules/sha1: Depend on stdint instead of md5.
16060
16061         * modules/md5: Depend on stdint, remove uint32_t.
16062
16063 2005-10-17  Simon Josefsson  <jas@extundo.com>
16064
16065         * modules/gc-sha1-tests: New file.
16066
16067         * tests/test-gc-sha1.c: New file.
16068
16069 2005-10-17  Simon Josefsson  <jas@extundo.com>
16070
16071         * m4/md5.m4: Remove call to uint32_t.m4.
16072
16073 2005-10-17  Simon Josefsson  <jas@extundo.com>
16074
16075         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
16076
16077         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
16078         md5.h.
16079
16080         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
16081
16082         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
16083
16084 2005-10-17  Simon Josefsson  <jas@extundo.com>
16085
16086         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
16087
16088 2005-10-17  Simon Josefsson  <jas@extundo.com>
16089
16090         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
16091
16092 2005-10-17  Simon Josefsson  <jas@extundo.com>
16093
16094         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
16095
16096         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
16097
16098 2005-10-17  Bruno Haible  <bruno@clisp.org>
16099
16100         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
16101         that it can also be used in a test.
16102
16103 2005-10-16  Bruno Haible  <bruno@clisp.org>
16104
16105         * gnulib-tool (func_emit_tests_Makefile_am): Also define
16106         TESTS_ENVIRONMENT, so that individual tests can augment it.
16107
16108         * gnulib-tool (func_create_testdir): Use an intermediate target for
16109         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
16110         macros, like $(ALLOCA_H), which cannot be passed through the command
16111         line.
16112
16113 2005-10-15  Simon Josefsson  <jas@extundo.com>
16114
16115         * modules/rijndael-tests: New file.
16116
16117         * modules/rijndael: New file.
16118
16119 2005-10-15  Simon Josefsson  <jas@extundo.com>
16120
16121         * m4/rijndael.m4: New file.
16122
16123 2005-10-15  Simon Josefsson  <jas@extundo.com>
16124
16125         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
16126
16127         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
16128
16129 2005-10-14  Simon Josefsson  <jas@extundo.com>
16130
16131         * tests/test-arcfour.c: New file.
16132
16133         * modules/arcfour, modules/arcfour-tests: New files.
16134
16135 2005-10-14  Simon Josefsson  <jas@extundo.com>
16136
16137         * m4/arcfour.m4: New file.
16138
16139 2005-10-14  Simon Josefsson  <jas@extundo.com>
16140
16141         * lib/arcfour.h, lib/arcfour.c: New files.
16142
16143 2005-10-14  Roland McGrath  <roland@redhat.com>
16144
16145         Import from libc.  [BZ #1331]
16146         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
16147         macro argument.
16148         Reported by Matej Vela <vela@debian.org>.
16149
16150 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
16151
16152         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
16153         include <wchar.h>; no longer needed.
16154
16155 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
16156
16157         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
16158
16159 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
16160         and  Ulrich Drepper  <drepper@redhat.com>
16161
16162         Import from libc.
16163         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
16164         instead of inline stream orientation test and two separate
16165         function calls.  Pay no attention to USE_IN_LIBIO.
16166
16167 2005-10-13  Simon Josefsson  <jas@extundo.com>
16168
16169         * modules/gc-hmac-md5-tests: New file.
16170
16171         * tests/test-gc-hmac-sha1.c: New file.
16172
16173         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
16174
16175         * modules/gc-hmac-md5-tests: New file.
16176
16177         * tests/test-gc-md5.c: New file.
16178
16179         * modules/gc-md5-tests: New file.
16180
16181 2005-10-13  Simon Josefsson  <jas@extundo.com>
16182
16183         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
16184         Move memory allocation outside of loop.
16185
16186 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
16187
16188         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
16189         intermediate directory is in a read-only file system.  Problem
16190         reported by Eric Blake.
16191
16192 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
16193
16194         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
16195
16196 2005-10-12  Simon Josefsson  <jas@extundo.com>
16197
16198         * tests/test-hmac-sha1.c: New file.
16199
16200         * modules/hmac-sha1-tests: New file.
16201
16202         * modules/hmac-sha1: New file.
16203
16204 2005-10-12  Simon Josefsson  <jas@extundo.com>
16205
16206         * modules/gc-sha1: New file.
16207
16208 2005-10-12  Simon Josefsson  <jas@extundo.com>
16209
16210         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
16211
16212         * tests/test-gc-pbkdf2-sha1.c: New file.
16213
16214 2005-10-12  Simon Josefsson  <jas@extundo.com>
16215
16216         * modules/gc-md5, modules/gc-hmac-md5: New files.
16217
16218         * modules/gc (Files): Remove md5, memxor and hmac files.
16219
16220 2005-10-12  Simon Josefsson  <jas@extundo.com>
16221
16222         * m4/gc-pbkdf2-sha1.m4: New file.
16223
16224         * m4/gc-hmac-sha1.m4: New file.
16225
16226         * m4/gc-sha1: New file.
16227
16228         * m4/hmac-sha1.m4: New file.
16229
16230 2005-10-12  Simon Josefsson  <jas@extundo.com>
16231
16232         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
16233
16234         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
16235
16236 2005-10-12  Simon Josefsson  <jas@extundo.com>
16237
16238         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
16239         suggested by Bruno Haible <bruno@clisp.org>.
16240
16241 2005-10-12  Simon Josefsson  <jas@extundo.com>
16242
16243         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
16244
16245 2005-10-12  Simon Josefsson  <jas@extundo.com>
16246
16247         * lib/gc-pbkdf2-sha1.c: New file.
16248
16249         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
16250
16251 2005-10-12  Simon Josefsson  <jas@extundo.com>
16252
16253         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
16254
16255         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
16256
16257 2005-10-12  Simon Josefsson  <jas@extundo.com>
16258
16259         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
16260         GC_USE_HMAC_MD5, respectively.
16261
16262         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
16263         (gc_md5): Fix typo.
16264
16265         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
16266
16267         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
16268
16269         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
16270
16271 2005-10-12  Bruno Haible  <bruno@clisp.org>
16272
16273         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
16274         Reported by Stepan Kasal <kasal@ucw.cz>.
16275
16276 2005-10-11  Simon Josefsson  <jas@extundo.com>
16277
16278         * tests/test-crc.c: New file.
16279
16280         * modules/crc, modules/crc-tests: New files.
16281
16282 2005-10-11  Simon Josefsson  <jas@extundo.com>
16283
16284         * m4/crc.m4: New file.
16285
16286 2005-10-11  Simon Josefsson  <jas@extundo.com>
16287
16288         * lib/gc.h: Add gc_hash and gc_hash_buffer.
16289
16290         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
16291
16292         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
16293
16294 2005-10-11  Simon Josefsson  <jas@extundo.com>
16295
16296         * lib/crc.h, lib/crc.c: New files.
16297
16298         * lib/gc.h (gc_hash_buffer): Add doc.
16299
16300 2005-10-11  Bruno Haible  <bruno@clisp.org>
16301
16302         * modules/c-strcasestr: New file.
16303         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
16304
16305 2005-10-11  Bruno Haible  <bruno@clisp.org>
16306
16307         * modules/c-strcase: New file.
16308         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
16309
16310 2005-10-11  Bruno Haible  <bruno@clisp.org>
16311
16312         * lib/strcasecmp.c: Include limits.h.
16313         (strcasecmp): Avoid integer overflow on exotic platforms.
16314         * lib/strncasecmp.c: Include limits.h.
16315         (strncasecmp): Avoid integer overflow on exotic platforms.
16316         Reported by Paul Eggert.
16317
16318 2005-10-11  Bruno Haible  <bruno@clisp.org>
16319
16320         * lib/c-strcasestr.h: New file, from GNU gettext.
16321         * lib/c-strcasestr.c: New file, from GNU gettext.
16322
16323 2005-10-11  Bruno Haible  <bruno@clisp.org>
16324
16325         * lib/c-strcase.h: New file, from GNU gettext.
16326         * lib/c-strcasecmp.c: New file, from GNU gettext.
16327         * lib/c-strncasecmp.c: New file, from GNU gettext.
16328
16329 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
16330
16331         * modules/mempcpy (License): GPL -> LGPL.
16332         * modules/strchrnul (License): Likewise.
16333         * modules/sysexits (License): Likewise.
16334
16335 2005-10-08  Simon Josefsson  <jas@extundo.com>
16336
16337         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
16338
16339 2005-10-07  Simon Josefsson  <jas@extundo.com>
16340
16341         * m4/memxor.m4: Remove gl_C_RESTRICT call.
16342
16343 2005-10-06  Simon Josefsson  <jas@extundo.com>
16344
16345         * tests/test-hmac-md5.c: New file.
16346
16347         * modules/hmac-md5-tests: New file.
16348
16349         * modules/hmac-md5: New file.
16350
16351 2005-10-06  Simon Josefsson  <jas@extundo.com>
16352
16353         * m4/hmac-md5.m4: New file.
16354
16355         * m4/memxor.m4: Require gl_C_RESTRICT.
16356
16357 2005-10-06  Simon Josefsson  <jas@extundo.com>
16358
16359         * lib/memxor.c (memxor): Avoid casts and warnings.
16360
16361 2005-10-06  Simon Josefsson  <jas@extundo.com>
16362
16363         * lib/hmac-md5.c: New file.
16364
16365         * lib/hmac.h: New file.
16366
16367 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
16368
16369         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
16370         promotes to int, not unsigned int, to catch the AIX 5.3
16371         compiler bug.
16372
16373 2005-10-05  Simon Josefsson  <jas@extundo.com>
16374
16375         * modules/memxor: New file.
16376
16377         * modules/iconv (Files): Move config.rpath to havelib, it is used
16378         there.
16379
16380         * modules/havelib (Files): Add config.rpath.
16381
16382 2005-10-05  Simon Josefsson  <jas@extundo.com>
16383
16384         * m4/memxor.m4: New file.
16385
16386 2005-10-05  Simon Josefsson  <jas@extundo.com>
16387
16388         * lib/memxor.c (memxor): Fix compiler error.
16389
16390         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
16391         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
16392
16393         * lib/memxor.h, lib/memxor.c: New files.
16394
16395         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
16396         we assume all systems have it, suggested by Jim Meyering
16397         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
16398         any systems lack sys/socket.h; mingw32 is known to lack it, but we
16399         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
16400         same reasons.
16401
16402 2005-10-05  Simon Josefsson  <jas@extundo.com>
16403
16404         * config/srclist.txt: Add glibc bug 1423 for md5.h.
16405
16406 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
16407
16408         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
16409         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
16410         needed, since the source code now assumes these .h files.
16411
16412 2005-10-05  Derek Price  <derek@ximbiot.com>
16413
16414         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
16415
16416 2005-10-05  Bruno Haible  <bruno@clisp.org>
16417
16418         * modules/stdint (License): Change to LGPL.
16419
16420 2005-10-04  Simon Josefsson  <jas@extundo.com>
16421
16422         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
16423         D. Baushke" <mdb@gnu.org>.
16424
16425 2005-10-04  Bruno Haible  <bruno@clisp.org>
16426
16427         * lib/verify.h (verify_true): Provide alternative definition for C++.
16428
16429 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
16430
16431         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
16432         (SSIZE_MAX): New macro, if not already defined.
16433         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
16434         than 2 GiB.
16435
16436 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
16437
16438         Sync from coreutils.
16439         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
16440         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
16441         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
16442         ULLONG_MAX doesn't work with 2.7.2.1.
16443
16444 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
16445
16446         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
16447         From Ben Pfaff.
16448
16449         * modules/exclude (Depends-on): Depend on verify.
16450         * modules/strtoimax (Depends-on): Likewise.
16451         * modules/utimecmp (Depends-on): Likewise.
16452
16453 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
16454
16455         * lib/exclude.c: Include verify.h.
16456         (verify): Remove.  All callers changed to use verify.h's version.
16457         * lib/strtoimax.c: Likewise.
16458         * lib/utimecmp.c: Likewis.e
16459
16460         Sync from coreutils.
16461         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
16462         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
16463         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
16464         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
16465         bother returning ENOSYS if settimeofday or stime fails; just let
16466         them return whatever errno they want to return.
16467         * lib/utimens.c: Include unistd.h, for dup2.
16468         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
16469         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
16470
16471 2005-10-02  Jim Meyering  <jim@meyering.net>
16472
16473         Sync from coreutils.
16474         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
16475         from glibc-2.2.5 that fails for read-only files.
16476
16477 2005-10-02  Jim Meyering  <jim@meyering.net>
16478
16479         Sync from coreutils.
16480         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
16481         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
16482         `#if HAVE_CONFIG_H'.
16483         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
16484         Remove AT_FDCWD test.
16485         Do not consume the fd unless successful.
16486         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
16487         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
16488         block, so that we don't even try to compile it if settimeofday is
16489         available.  This works around a compilation failure on OSF1 V5.1,
16490         due to stime requiring a `long int*' while tv_sec is `int'.
16491
16492 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
16493
16494         Sync from coreutils.
16495         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
16496         against `yes', rather than just testing for nonempty.
16497
16498 2005-10-01  Simon Josefsson  <jas@extundo.com>
16499
16500         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
16501         and Darwin.
16502
16503         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
16504         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
16505         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
16506         freeaddrinfo and gai_strerror are declared by the POSIX headers.
16507         Check if struct addrinfo is declared.
16508
16509 2005-10-01  Simon Josefsson  <jas@extundo.com>
16510
16511         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
16512         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
16513         AI_* and EAI_* definitions.  Protect function declarations.
16514
16515 2005-10-01  Jim Meyering  <jim@meyering.net>
16516
16517         Sync from coreutils.
16518
16519         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
16520         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
16521         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
16522         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
16523         in the inet and nsl libraries.  Required on Solaris 5.7.
16524
16525 2005-10-01  Jim Meyering  <jim@meyering.net>
16526
16527         Sync from coreutils.
16528         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
16529         in the inet and nsl libraries.  Required on Solaris 5.7.
16530
16531 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
16532
16533         * lib/getdelim.c (getdelim): Remove unused variables.
16534
16535 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
16536
16537         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
16538         so that the code works even with ancient cpp.  Portability problem
16539         with GCC 2.7.2.1 reported by Thomas M.Ott.
16540
16541 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
16542
16543         * modules/regex (Depends-on): Add strcase.
16544
16545         * modules/gethostname (Licence): Change from GPL to LGPL, since
16546         gethostname.c is a trivial implementation of a standard library
16547         function.
16548         * modules/poll (License): Change from GPL to LGPL, since it's
16549         derived from LGPL code.
16550
16551 2005-09-27  Jim Meyering  <jim@meyering.net>
16552
16553         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
16554         HAVE_CONFIG_H.
16555
16556         * lib/intprops.h (signed_type_or_expr__): Define.
16557         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
16558         for unsigned types.
16559
16560 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
16561
16562         * lib/verify.h (verify_expr): Remove, replacing with:
16563         (verify_true): New macro that returns true instead of void.
16564         (verify_type__): Remove.
16565         (verify): Use verify_true rather than verify_type__.
16566
16567 2005-09-26  Bruno Haible  <bruno@clisp.org>
16568
16569         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
16570         is necessary.
16571         (lib_SOURCES): Remove mbchar.c.
16572         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
16573         (Files): Add m4/mbrtowc.m4.
16574         * modules/mbiter: Likewise.
16575         * modules/mbuiter: Likewise.
16576
16577 2005-09-26  Bruno Haible  <bruno@clisp.org>
16578
16579         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
16580         compile mbchar.c if they are not both present.
16581         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
16582         * m4/mbiter.m4 (gl_MBITER): Likewise.
16583         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
16584         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
16585         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
16586
16587 2005-09-25  Jim Meyering  <jim@meyering.net>
16588
16589         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
16590         also uses socklen_t.
16591
16592 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
16593
16594         * lib/utimens.c (ENOSYS): Define if not already defined.
16595         (futimens): Support having a null PATH if the file descriptor
16596         is nonnegative.
16597
16598         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
16599         Remove.
16600         (__attribute): Define to empty unless GCC 3.1 or later.
16601         This works around a core dump on OpenBSD 3.4, which has GCC
16602         2.95.3, which dumps core when given __attribute__(()).  It also
16603         simplifies other tests, since we really don't want to bother with
16604         worrying about which ancient version of GCC supported what.
16605         Original problem reported by Yoann Vandoorselaere, with part of
16606         the fix suggested by Derek Price.
16607
16608 2005-09-24  Jim Meyering  <jim@meyering.net>
16609
16610         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
16611         so we can once again use a positive bitfield width of 1 -- now we
16612         don't have to explain why we were using a bitfield width of 2.
16613
16614 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
16615
16616         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
16617         and similarly for the other external symbols.  Problem reported
16618         by James Gallager.
16619
16620         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
16621         bug reported by Jim Meyering.
16622
16623         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
16624         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
16625         not needed, since socklen is a prerequisite module.
16626
16627 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
16628
16629         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
16630         Problem reported by Eric Blake.
16631         (getaddrinfo): Initialize se so that it's not garbage.
16632         Redo internal storage allocation so that it doesn't make unportable
16633         assumptions about alignment.
16634         Fix a memory leak.
16635
16636         * lib/utimens.c (futimens): Use futimesat if available.
16637         Prefer it to futimes since it doesn't have the futimes bug.
16638
16639         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
16640         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
16641         Instead, declare a function that returns a pointer to an array,
16642         and use verify_type__ to declare the size of the array.
16643         Problem and germ of a solution reported by Bruno Haible.
16644         (verify_type__): Use 2, not 1, for bitfield size, to avoid
16645         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
16646
16647 2005-09-23  Jim Meyering  <jim@meyering.net>
16648
16649         Sync from coreutils.
16650         Correct build failure (socklen_t not defined) on at least
16651         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
16652         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
16653
16654 2005-09-23  Jim Meyering  <jim@meyering.net>
16655
16656         * modules/getaddrinfo (Depends-on): Add socklen.
16657
16658 2005-09-23  Bruno Haible  <bruno@clisp.org>
16659
16660         * tests/test-verify.c: New file.
16661
16662 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
16663
16664         Sync from coreutils.
16665
16666         * modules/argmatch (Depends-on): Add verify.
16667         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
16668         unistd-safer.
16669         * modules/save-cwd (Depends-on): Likewise.
16670
16671         * modules/openat (Files): Add lib/openat-die.c.
16672         (Depends-on): Remove error, exitfail.
16673         Add dirname.
16674
16675         * modules/verify: New file.
16676         * MODULES.html.sh (Diagnostics <assert.h>): New section,
16677         with "verify" module.
16678
16679 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
16680
16681         Sync from coreutils.
16682
16683         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
16684         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
16685         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
16686         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
16687         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
16688         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
16689         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
16690         Don't bother checking for string.h, stdlib.h, unistd.h.
16691         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
16692         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
16693         module's job.
16694         * m4/jm-macros.m4 (gl_MACROS): Likewise.
16695         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
16696
16697         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
16698         (gl_GETDATE): Use it.
16699
16700         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
16701
16702 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
16703
16704         Sync from coreutils.
16705
16706         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
16707         stat-time.h.
16708         * lib/argmatch.h: Include verify.h
16709         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
16710         (ARGMATCH_ASSERT): Remove; unused.
16711         * lib/canonicalize.c: Assume STDC_HEADERS.
16712         * lib/exclude.c: Include "strcase.h".
16713         * lib/regex_internal.h [!defined _LIBC]: Likewise.
16714         * lib/getusershell.c: Include stdio--.h rather than stdio.h
16715         and stdio-safer.h.
16716         (getusershell): Call fopen, not fopen_safer.
16717         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
16718         Do not include unistd-safer.h.
16719         (save_cwd): Don't call fd_safer; no longer needed
16720         now that we include fcntl--.h.
16721
16722         * lib/getdate.y (relative_time): New type.
16723         (RELATIVE_TIME_0): New constant.
16724         (parser_control): Use relative_time instead of doing it ourselves.
16725         (%union): Add new relative_time rel member.
16726         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
16727         Now typeless.
16728         (relunit, relunit_snumber): Now of type rel.
16729         (zone, rel, relunit, get_date): Adjust to above changes.
16730
16731         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
16732         Do not include unistd-safer.h.
16733         (getloadavg): Don't call fd_safer; no longer needed
16734         now that we include fcntl--.h.
16735
16736         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
16737         (make_dir_parents): Treat ENOSYS like EEXIST.
16738
16739         Improve quality of diagnostics on restore_cwd failure.
16740         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
16741         (make_dir_parents): Last arg is now int * (for errno), not bool *.
16742         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
16743         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
16744         each time through the loop.  Do not diagnose restore_cwd failure;
16745         that is the caller's job (and perhaps the caller does not care).
16746
16747         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
16748         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
16749         If the file already exists but is not a directory, don't bother
16750         to try to make its parents.
16751         Close potential file descriptor leak if we can't chdir("/") (!).
16752         Don't always return true if chdir($PWD) fails; return true only
16753         if the requested action was done successfully (except for the
16754         chdir($PWD)).
16755         Don't log final directory unless we actually made it.
16756         Refactor to avoid duplicate code to fix up permissions.
16757         Don't attempt to fix up parent permissions if chdir($PWD) fails.
16758
16759         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
16760         to make it a bit faster and (I hope) clearer.
16761         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
16762         Fix bug in formats like %2N.
16763
16764         * lib/verify.h: New file.
16765
16766 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
16767
16768         Sync from coreutils.
16769         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
16770
16771 2005-09-22  Jim Meyering  <jim@meyering.net>
16772
16773         Sync from coreutils.
16774
16775         * m4/lstat.m4 (gl_FUNC_LSTAT):
16776         Use AC_LIBSOURCES to require lstat.c and lstat.h.
16777         Remove obsolete comment.
16778         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
16779         * m4/xstrtod.m4: Likewise.
16780
16781         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
16782
16783 2005-09-22  Jim Meyering  <jim@meyering.net>
16784
16785         Sync from coreutils.
16786
16787         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
16788
16789         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
16790         the .tm_year member, since otherwise gcc-4.0 would now warn about
16791         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
16792
16793         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
16794         order to avoid an unsuppressible warning from gcc on 64-bit systems.
16795
16796         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
16797         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
16798         when run in a time zone for which daylight savings time is in effect
16799         for the starting date.
16800
16801         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
16802         stop us from restricting permissions of just-created absolute-named
16803         directories.
16804         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
16805         to restore initial working directory.
16806         * lib/mkdir-p.c (make_dir_parents): New parameter:
16807         different_working_dir, to tell caller if/when we change the working
16808         directory and are unable to return to the initial one.
16809         * lib/mkdir-p.h (make_dir_parents): Update prototype.
16810         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
16811         `return false'.  This fixes a bug introduced on 2004-07-30.
16812
16813         * lib/openat.c (fdopendir): Be sure to close the supplied
16814         file descriptor before returning.  This makes our replacement
16815         implementation a little closer to Solaris's, where fdopendir
16816         ties the file descriptor to the returned DIR* pointer.
16817         * lib/openat.c (unlinkat): New function.
16818         * lib/openat.h (unlinkat): Add prototype.
16819         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
16820         (openat_restore_fail): Rename from openat_restore_die.
16821         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
16822
16823         Provide an alternative to exiting immediately upon save_cwd or
16824         restore_cwd failure.  Now, an application can arrange e.g.,
16825         to perform a longjump in that case.
16826         * lib/openat.c: Include dirname.h.
16827         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
16828         (rpl_openat, fdopendir, fstatat): Call openat_save_die
16829         and openat_restore_die rather than calling error directly.
16830         Don't include "error.h" or "exitfail.h"; they're no longer needed.
16831
16832         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
16833         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
16834         define.
16835
16836         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
16837         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
16838                             int utc, int nanoseconds);
16839         Background:
16840         date should not have to allocate a megabyte of virtual memory to
16841         handle a format argument like +%1048575T.  When implemented with
16842         strftime, it must allocate such a buffer, use strftime to fill it
16843         in, print it, then free it.
16844         With fprintftime, it simply prints everything and exits.
16845         With no need for memory allocation, that's one fewer way to fail.
16846         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
16847         optional field width, not before, so we accept %9:z, not %:9z.
16848         (my_strftime): Be sure to use L_('x') for literals.
16849
16850         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
16851         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
16852         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
16853         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
16854         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
16855         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
16856         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
16857         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
16858         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
16859         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
16860         * lib/xgethostname.c, lib/xreadlink.c:
16861         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
16862
16863         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
16864         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
16865         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
16866         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
16867         and don't include <sys/file.h>).
16868
16869 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
16870
16871         Sync from coreutils.
16872
16873         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
16874         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
16875         [!LDAV_DONE]: Avoid unused variable warning.
16876
16877 2005-09-21  Bruno Haible  <bruno@clisp.org>
16878
16879         * lib/unicodeio.h (unicode_to_mb): New declaration.
16880
16881 2005-09-20  Derek Price  <derek@ximbiot.com>
16882
16883         * lib/getaddrinfo.c: Don't include <netdb.h> included from
16884         getaddrinfo.h.
16885
16886 2005-09-20  Bruno Haible  <bruno@clisp.org>
16887
16888         * gnulib-tool: Remove trailing slashes from the values specified for
16889         --source-base, --m4-base, --tests-base, --aux-dir.
16890         Suggested by Simon Josefsson <jas@extundo.com>.
16891
16892 2005-09-20  Bruno Haible  <bruno@clisp.org>
16893
16894         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
16895         func_modules_to_filelist, func_import, func_create_testdir): Make all
16896         sorting results locale-independent, so that gnulib-cache.m4 doesn't
16897         change when gnulib-tool is invoked in a different locale.
16898
16899 2005-09-19  Simon Josefsson  <jas@extundo.com>
16900
16901         * m4/socklen.m4: Fix typo.
16902
16903 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16904
16905         Use a consistent style for including <config.h>.
16906         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
16907         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
16908         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
16909         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
16910         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
16911         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
16912         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
16913         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
16914         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
16915         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
16916         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
16917         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
16918         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
16919         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
16920         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
16921         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
16922         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
16923         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
16924         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
16925         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
16926         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
16927         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
16928         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
16929         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
16930         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
16931         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
16932         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
16933         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
16934         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
16935         lib/xstrtoumax.c, lib/yesno.c:
16936         Standardize inclusion of config.h.
16937         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
16938         lib/inttostr.h:  Removed inclusion of config.h from header files.
16939         * lib/inttostr.c:  Adjusted in-tree users.
16940         * lib/timespec.h: Remove superfluous warning to include config.h.
16941         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
16942         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
16943         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
16944         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
16945         config.h with HAVE_CONFIG_H.
16946
16947 2005-09-19  Jim Meyering  <jim@meyering.net>
16948
16949         * modules/pathmax (License): Change to LGPL.
16950
16951 2005-09-19  Derek Price  <derek@ximbiot.com>
16952
16953         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
16954
16955 2005-09-19  Bruno Haible  <bruno@clisp.org>
16956
16957         * gnulib-tool (import): Provide default for --tests-base.
16958
16959 2005-09-19  Bruno Haible  <bruno@clisp.org>
16960
16961         * doc/quote.texi: New file, extracted from gnulib.texi.
16962         * doc/ctime.texi: New file, extracted from gnulib.texi.
16963         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
16964         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
16965         * doc/gnulib.texi: Include them.
16966
16967 2005-09-18  Bruno Haible  <bruno@clisp.org>
16968
16969         Portability fix.
16970         * gnulib-tool (func_readlink): New function.
16971         (func_ln_if_changed): Use it.
16972
16973 2005-09-18  Bruno Haible  <bruno@clisp.org>
16974
16975         * gnulib-tool: Support --with-tests also with --import.
16976         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
16977         (func_import): Use variables $testsbase and $inctests. Emit a
16978         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
16979         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
16980         SUBDIRS += $testsdir.
16981         (func_create_testdir): Update.
16982
16983 2005-09-18  Bruno Haible  <bruno@clisp.org>
16984
16985         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
16986         instead of $dry_run.
16987         (func_cp_if_changed, func_mv_if_changed): Remove functions.
16988         (func_ln_if_changed): Don't handle dry-run here.
16989         (func_import): In dry-run mode, detect more precisely which actions
16990         would be performed, and don't use "...ing" verbs.
16991
16992 2005-09-18  Bruno Haible  <bruno@clisp.org>
16993
16994         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
16995         (func_import): Use join on two temporary files instead of three nested
16996         loops, in order to determine which files are new or old.
16997
16998 2005-09-18  Bruno Haible  <bruno@clisp.org>
16999
17000         * gnulib-tool (func_import): Comment out code that spits out the
17001         new files with --dry-run.
17002
17003 2005-09-18  Bruno Haible  <bruno@clisp.org>
17004
17005         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
17006
17007 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
17008
17009         * lib/stat-time.h: New file.
17010         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
17011         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
17012         in a different way.
17013         (timespec_cmp): New function.
17014         * lib/utimecmp.c: Include stat-time.h.
17015         (SYSCALL_RESOLUTION): Depend on whether various struct stat
17016         members exist, not on the obsolescent ST_MTIM_NSEC.
17017         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
17018
17019 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
17020
17021         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
17022
17023 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
17024
17025         * MODULES.html.sh (File system functions): Add stat-time.
17026         * modules/stat-time: New file.
17027         * modules/timespec (Files): Remove m4/st_mtim.m4; this
17028         is now done in a different way, by the stat-time module.
17029         * modules/utimecmp (Depends-on): Add stat-time.
17030
17031 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
17032
17033         * m4/st_mtim.m4: Remove.  Superseded by...
17034         * m4/stat-time.m4: New file.
17035         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
17036         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
17037
17038 2005-09-15  Derek Price  <derek@ximbiot.com>
17039
17040         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
17041
17042 2005-09-15  Derek Price  <derek@ximbiot.com>
17043
17044         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
17045         * lib/regex_internal.c: Ditto, using this...
17046         (__GNUC_PREREQ): ...new macro.
17047         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
17048         using...
17049         (__GNUC_PREREQ): ...this new macro.
17050
17051         * lib/strstr.h: Include string.h. Define strstr as a macro here.
17052
17053 2005-09-15  Derek Price  <derek@ximbiot.com>
17054             Paul Eggert  <eggert@cs.ucla.edu>
17055
17056         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
17057         changes, consolidating in...
17058         * lib/regex_internal.h: ...this file.
17059
17060 2005-09-13  Jim Meyering  <jim@meyering.net>
17061
17062         * lib/canon-host.c: Filter through gnu indent and reword comments
17063         slightly.
17064         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
17065
17066 2005-09-13  Derek Price  <derek@ximbiot.com>
17067
17068         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
17069         failure.
17070         Reported by Jim Meyering  <jim@meyering.net>.
17071
17072 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
17073
17074         * lib/base64.c: Typo.
17075         (base64_encode): Put b64str in initialized data section.
17076
17077 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
17078
17079         Merge glibc and coreutils changes into gnulib, plus a few
17080         extra fixes.
17081         * lib/md5.c: Use #error rather than a string.
17082         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
17083         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
17084         (__attribute__): Define to empty for non recent-GCC.
17085         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
17086         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
17087         Renamed from their non-__ counterparts, with new macros replacing
17088         them if not _LIBC.  Add __THROW attribute.
17089         (rol): Remove.
17090         (struct md5_ctx): Align buffer if using GCC.
17091         * lib/sha1.h (struct sha1_ctx): Likewise.
17092         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
17093         The old name was backwards.
17094         (NOTSWAP): Remove; not used.
17095         (rol): New macro, moved here from md5.h.
17096         (sha1_process_block): Remove a FIXME that doesn't make sense.
17097
17098 2005-09-12  Derek Price  <derek@ximbiot.com>
17099
17100         Return usable errors from canon-host.
17101         * lib/canon-host.h: New file.
17102         * lib/canon-host.c (canon_host): Wrap...
17103         (canon_host_r): ...this new function, which now relies exclusively on
17104         getaddrinfo.
17105         (ch_strerror): New function.
17106         (last_cherror): New global.
17107         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
17108         interface.
17109         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
17110         void *.
17111         (freeaddrinfo): Free ai->ai_canonname when set.
17112
17113 2005-09-12  Derek Price  <derek@ximbiot.com>
17114
17115         Make canon-host require getaddrinfo.
17116         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
17117         AC_LIBSOURCE canon-host.h.  Call...
17118         (gl_PREREQ_CANON_HOST): ...this new function, which requires
17119         gl_GETADDRINFO.
17120         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
17121
17122 2005-09-12  Derek Price  <derek@ximbiot.com>
17123
17124         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
17125         LGPL.
17126         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
17127
17128 2005-09-12  Derek Price  <derek@ximbiot.com>
17129
17130         * lib/gai_strerror.c: Include config.h when available.  Include
17131         getaddrinfo.h before other headers to test interface.
17132         Reported by Larry Jones <lawrence.jones@ugs.com>.
17133
17134 2005-09-12  Derek Price  <derek@ximbiot.com>
17135             Paul Eggert  <eggert@cs.ucla.edu>
17136
17137         * modules/glob (Files): Add glob-libc.h.
17138
17139 2005-09-12  Derek Price  <derek@ximbiot.com>
17140             Paul Eggert  <eggert@cs.ucla.edu>
17141
17142         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
17143         glob_.h, glob-libc.h.
17144         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
17145
17146 2005-09-12  Derek Price  <derek@ximbiot.com>
17147             Paul Eggert  <eggert@cs.ucla.edu>
17148
17149         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
17150         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
17151         protecting things that should be done only in gnulib contexts.
17152         * lib/glob_.h: New file, containing only the glob things needed for
17153         gnulib.
17154         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
17155         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
17156         (glob, globfree, glob_pattern_p): Now defined simply in terms of
17157         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
17158         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
17159         and to respect the namespace rules better.
17160
17161 2005-09-08  Simon Josefsson  <jas@extundo.com>
17162
17163         * modules/socklen: New file.
17164
17165 2005-09-08  Simon Josefsson  <jas@extundo.com>
17166
17167         * m4/socklen.m4: New file.
17168
17169 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
17170
17171         * modules/utimens (Files): Add m4/utimbuf.m4, since
17172         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
17173         Reported by Sergey Poznyakoff.
17174
17175 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
17176
17177         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
17178         definitions, since that's the preferred style in glibc.
17179         Fix a minor spacing issue, and update copyright notice to match
17180         glibc's.
17181
17182 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
17183
17184         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
17185
17186 2005-09-06  Simon Josefsson  <jas@extundo.com>
17187
17188         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
17189         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
17190
17191 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
17192
17193         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
17194         warning.
17195
17196 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
17197
17198         * config/srclist.txt: Add glibc bug 1302.
17199
17200 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
17201
17202         Change bitset word type from unsigned int to unsigned long int,
17203         as this has better performance on typical 64-bit hosts.
17204         Port bitset code to hosts with unusual word sizes.
17205         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
17206         (build_collating_symbol):
17207         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
17208         argument is a bitset.  This is merely a style issue, but it makes
17209         it clearer that an entire array is expected.
17210         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
17211         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
17212         Port to the case where bitset_word is not the same as unsigned int.
17213         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
17214         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
17215         Likewise.
17216         * lib/regexec.c (check_dst_limits_calc_pos_1,
17217         check_subexp_matching_top):
17218         (build_trtable, group_nodes_into_DFAstates):
17219         Likewise.
17220         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
17221         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
17222         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
17223         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
17224         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
17225         * lib/regcomp.c (optimize_subexps, lower_subexp):
17226         Work even if bitset_word has holes in its bitwise representation.
17227         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
17228         * lib/regexec.c (check_dst_limits_calc_pos_1,
17229         check_subexp_matching_top):
17230         Likewise.
17231         * lib/regex_internal.c (re_string_reconstruct):
17232         Don't assume UCHAR_MAX == 255.
17233         * lib/regex_internal.h (bitset_set_all): Likewise.
17234         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
17235         All uses changed.
17236         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
17237         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
17238         All uses changed.
17239         (BITSET_WORD_MAX): New macro.
17240         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
17241         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
17242         (bitset_empty, bitset_copy):
17243         Prefer sizeof (bitset) to multiplying it out ourselves.
17244         (bitset_not_merge): Remove; unused.
17245         (bitset_contain): Return bool, not unsigned int with one bit on.
17246         All callers changed.
17247         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
17248         alignment than re_node_set; do this by defining a new internal
17249         type struct dests_alloc and using it to allocate memory.
17250
17251 2005-09-05  Bruno Haible  <bruno@clisp.org>
17252
17253         * gnulib-tool (func_import): Fix comparison in handling of symbolic
17254         links.
17255
17256 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
17257
17258         * modules/size_max (Makefile.am): Add size_max.h
17259
17260 2005-09-04  Derek Price  <derek@ximbiot.com>
17261
17262         * gnulib-tool (func_import): Fix reversed $symbolic logic.
17263
17264 2005-09-03  Simon Josefsson  <jas@extundo.com>
17265
17266         * gnulib-tool: Fix typo.
17267
17268 2005-09-03  Simon Josefsson  <jas@extundo.com>
17269
17270         * config/srclist.txt: Add glibc bug 1293.
17271
17272 2005-09-03  Derek Price  <derek@ximbiot.com>
17273
17274         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
17275         From Larry Jones <lawrence.jones@ugs.com>.
17276
17277 2005-09-02  Simon Josefsson  <jas@extundo.com>
17278
17279         * modules/socklen: New file.
17280
17281 2005-09-02  Simon Josefsson  <jas@extundo.com>
17282
17283         * modules/havelib: New module.
17284
17285         * modules/gettext, modules/iconv, modules/lock, modules/readline:
17286         Use havelib.
17287
17288 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
17289
17290         Check for arithmetic overflow when calculating sizes, to prevent
17291         some buffer-overflow issues.  These patches are conservative, in the
17292         sense that when I couldn't determine whether an overflow was possible,
17293         I inserted a run-time check.
17294         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
17295         macros.
17296         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
17297         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
17298         (re_xnrealloc, re_x2nrealloc): New inline functions.
17299         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
17300         parse_bracket_exp):
17301         (build_equiv_class, build_charclass): Check for arithmetic overflow
17302         in size expression calculations.
17303         * lib/regex_internal.c (re_string_realloc_buffers):
17304         (build_wcs_upper_buffer, re_node_set_add_intersect):
17305         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
17306         (re_dfa_add_node, register_state): Likewise.
17307         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
17308         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
17309         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
17310         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
17311
17312 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
17313
17314         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
17315         m4/ulonglong.m4.  Problem reported by Martin Lambers.
17316
17317 2005-09-02  Bruno Haible  <bruno@clisp.org>
17318
17319         Support for lib vs. lib64 distinction on biarch platforms.
17320         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
17321         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
17322         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
17323
17324 2005-09-02  Bruno Haible  <bruno@clisp.org>
17325
17326         * gnulib-tool (import): In the other first-use case, provide defaults
17327         as well.
17328
17329 2005-09-02  Bruno Haible  <bruno@clisp.org>
17330
17331         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
17332         patches not yet found in the latest gettext release.
17333
17334 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
17335
17336         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
17337         to avoid a collision with bits/local_lim.h in glibc.
17338         All uses changed.  Problem reported by Dmitry V. Levin in
17339         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
17340
17341         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
17342         bugs in int versus size_t comparisons.
17343         (re_string_context_at): Fix bug where the code assumed that
17344         Idx is signed.
17345
17346         Use bool where appropriate.
17347         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
17348         All callers changed.
17349         (calc_eclosure_iter): Likewise, for ROOT arg.
17350         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
17351         (build_charclass_op): Likewise, for NON_MATCH arg.
17352         * lib/regex_internal.c (re_string_allocate, re_string_construct):
17353         (re_string_construct_common): Likewise, for ICASE arg.
17354         * lib/regexec.c (re_search_2_stub, re_search_stub):
17355         Likewise, for RET_LEN arg.
17356         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
17357         (set_regs): Likewise, for FL_BACKTRACK arg.
17358         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
17359         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
17360         (calc_eclosure_iter, parse_bracket_exp):
17361         Use bool for internal variables that are booleans.
17362         * lib/regexec.c (re_search_internal, check_matching,
17363         proceed_next_node):
17364         (set_regs, build_sifted_states, sift_states_bkref):
17365         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
17366         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
17367         (find_collation_sequence_value):
17368         Likewise.
17369         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
17370         (re_node_set_compare):
17371         Return bool, not int. All callers changed.
17372         * lib/regexec.c (check_halt_node_context, check_dst_limits):
17373         (build_trtable, check_node_accept): Likewise.
17374         * lib/regex_internal.h: Include stdbool.h.
17375
17376         Fix bugs uncovered when converting to bool.
17377         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
17378         failure instead of charging ahead blindly.
17379         * lib/regex_internal.c (register_state): Likewise.
17380         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
17381         for freeing internal storage.
17382         (group_nodes_into_DFA_states): Use unsigned int, not int, for
17383         bitset pieces used as boolean, to avoid undefined behavior
17384         on hosts that do int overflow checking.
17385
17386 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
17387
17388         * config/srclist.txt: Add glibc bugs 1285-1287.
17389
17390 2005-09-01  Jim Meyering  <jim@meyering.net>
17391
17392         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
17393         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
17394         Require gl_STAT_MACROS, too.
17395
17396 2005-09-01  Bruno Haible  <bruno@clisp.org>
17397
17398         * gnulib-tool (import): In the first-use case, provide defaults.
17399
17400 2005-09-01  Bruno Haible  <bruno@clisp.org>
17401
17402         * gnulib-tool (func_import): Remove the .tmp files.
17403
17404 2005-09-01  Bruno Haible  <bruno@clisp.org>
17405
17406         * gnulib-tool (func_import): Fix handling of symbolic links.
17407
17408 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
17409
17410         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
17411         old glibc regex code mishandles strings longer than 2**31 bytes.
17412         This patch fixes this when the regex code is used in gnulib
17413         (i.e., outside glibc).
17414
17415         This patch should not affect the use of the regex code inside
17416         glibc.  No doubt this problem also needs to be handled for glibc
17417         as well, but the result will be an incompatible change to the
17418         glibc ABI, and the old ABI will have to be supported too.  That
17419         can be the the subject for another patch.
17420
17421         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
17422         governing whether the rest of this patch is active.  By default,
17423         the macro is disabled and the patch has no effect.
17424         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
17425         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
17426         (struct re_pattern_buffer, re_search, re_search_2, re_match):
17427         (re_match_2, re_set_registers): Use the new types.
17428         * lib/regex_internal.h (Idx, re_hashval_t): New types.
17429         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
17430         New macros.
17431         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
17432         (re_string_context_at, bin_tree_t, re_dfastate_t):
17433         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
17434         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
17435         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
17436         (re_string_char_size_at, re_string_wchar_at):
17437         (re_string_elem_size_at):
17438         Use the new types and macros to port to 64-bit hosts.
17439         Use unsigned types for internal values, so that the code
17440         mostly works even for arrays larger than SSIZE_MAX.
17441         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
17442         (search_duplicated_node, calc_eclosure_iter, fetch_number):
17443         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
17444         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
17445         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
17446         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
17447         (calc_inveclosure, parse_dup_op, build_range_exp):
17448         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
17449         (fetch_number, create_token_tree, mark_opt_subexp):
17450         Likewise.
17451         * lib/regex_internal.c (re_string_construct_common,
17452         create_ci_newstate):
17453         (create_cd_newstate, re_string_allocate, re_string_construct):
17454         (re_string_realloc_buffers, build_wcs_upper_buffer):
17455         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
17456         (re_string_reconstruct, re_string_peek_byte_case):
17457         (re_string_fetch_byte_case, re_string_context_at):
17458         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
17459         (re_node_set_init_copy, re_node_set_add_intersect):
17460         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
17461         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
17462         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
17463         (re_acquire_state, re_acquire_state_context, register_state):
17464         Likewise.
17465         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
17466         search_cur_bkref_entry):
17467         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
17468         (re_search_internal, re_search_2_stub, re_search_stub)
17469         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
17470         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
17471         (update_cur_sifted_state, check_dst_limits):
17472         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
17473         (check_subexp_limits, sift_states_bkref, merge_state_array):
17474         (check_subexp_matching_top, get_subexp, get_subexp_sub):
17475         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
17476         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
17477         (expand_bkref_cache, check_node_accept_bytes):
17478         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
17479         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
17480         (acquire_init_state_context, check_halt_node_context):
17481         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
17482         (sift_states_backward, clean_state_log_if_needed):
17483         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
17484         (find_recover_state, transit_state_sb, transit_state_mb):
17485         (transit_state_bkref, build_trtable, match_ctx_clean):
17486         Likewise.
17487         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
17488         to work around an assumption that REG_MISSING is negative.
17489
17490         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
17491         (seek_collating_symbol_entry) [defined _LIBC]:
17492         (lookup_collation_sequence_value) [defined _LIBC]:
17493         (build_range_exp, build_collating_symbol) [defined _LIBC]:
17494         Use prototypes rather than old-style function definitions.
17495         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
17496         (transit_state_sb) [0]:
17497         (find_collation_sequence_value) [defined _LIBC]: Likewise.
17498
17499         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
17500         rm_eo.
17501
17502         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
17503         (optimize_subexps, lower_subexp):
17504         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
17505         since the signed shift might overflow.  Use 1u<<31 instead.
17506         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
17507         Likewise.
17508         * lib/regexec.c (check_dst_limits_calc_pos_1,
17509         check_subexp_matching_top): Likewise.
17510
17511         * lib/regcomp.c (optimize_subexps, lower_subexp):
17512         Use CHAR_BIT rather than 8, for clarity.
17513         * lib/regexec.c (check_dst_limits_calc_pos_1):
17514         (check_subexp_matching_top): Likewise.
17515         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
17516         have to worry about portability issues when shifting it left.
17517         Remove no-longer-needed test for table_size > 0.
17518         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
17519         in a word, as the resulting behavior is undefined.
17520         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
17521         in one case, a <= should have been an <, and in another case the
17522         whole test was missing.
17523         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
17524         the standard name CHAR_BIT.
17525         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
17526         this is not true on one's complement and signed-magnitude hosts.
17527
17528         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
17529         next_last_offset.
17530         (struct re_dfa_t): Remove unused member states_alloc.
17531         * lib/regcomp.c (init_dfa): Don't initialize unused members.
17532
17533 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
17534
17535         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
17536         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
17537         and large-file glibc and in 32-bit large-file Solaris.
17538
17539 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
17540
17541         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
17542         lengths fit in regoff_t; this isn't true if regoff_t is the same
17543         width as size_t.
17544         * lib/regex.c (re_search_internal): 5th arg is LAST_START
17545         (= START + RANGE) instead of RANGE.  This avoids overflow
17546         problems when regoff_t is the same width as size_t.
17547         All callers changed.
17548         (re_search_2_stub): Check for overflow when adding the
17549         sizes of the two strings.
17550         (re_search_stub): Check for overflow when adding START
17551         to RANGE; if it occurs, substitute the extreme value.
17552
17553 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
17554
17555         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
17556
17557 2005-08-31  Jim Meyering  <jim@meyering.net>
17558
17559         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
17560         a pointer-to-const.
17561         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
17562         (register_state): Likewise.
17563         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
17564         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
17565         (group_nodes_into_DFAstates): Likewise.
17566
17567 2005-08-31  Jim Meyering  <jim@meyering.net>
17568
17569         * check-module: Add a FIXME comment.
17570
17571 2005-08-31  Eric Blake  <ebb9@byu.net>
17572
17573         * modules/unistd-safer (Files): Add unistd--.h.
17574         * modules/stdio-safer (Files): Add stdio--.h.
17575
17576 2005-08-31  Derek Price  <derek@ximbiot.com>
17577
17578         * lib/getdelim.c (getdelim): Return EOF on EOF.
17579         Reported by Larry Jones <lawrence.jones@ugs.com>.
17580
17581 2005-08-31  Bruno Haible  <bruno@clisp.org>
17582
17583         Avoid unnecessary diffs in the generated lib/Makefile.am.
17584         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
17585         the generated files.
17586         (func_import): Don't set cmd.
17587
17588 2005-08-31  Bruno Haible  <bruno@clisp.org>
17589
17590         * lib/strstr.c: Include <stddef.h>, for NULL.
17591         * lib/strcasestr.c: Likewise.
17592         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
17593
17594 2005-08-31  Bruno Haible  <bruno@clisp.org>
17595
17596         * gnulib-tool: New option --macro-prefix.
17597         (func_import): Use macro_prefix.
17598         (import): Handle option --macro-prefix.
17599
17600 2005-08-31  Bruno Haible  <bruno@clisp.org>
17601
17602         * gnulib-tool (import): Rename most ac_* variables to cached_*.
17603         Also use new variables cached_lgpl, cached_libtool.
17604
17605 2005-08-31  Bruno Haible  <bruno@clisp.org>
17606
17607         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
17608         always instantiating them.
17609
17610 2005-08-31  Bruno Haible  <bruno@clisp.org>
17611
17612         * gnulib-tool (func_import): Read the previous cached settings
17613         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
17614         earlier added by gnulib but are now dropped. Warn when a gnulib file
17615         overwrites a non-gnulib file.
17616
17617 2005-08-31  Bruno Haible  <bruno@clisp.org>
17618
17619         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
17620         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
17621         projects that don't keep autogenerated files in CVS. Put into
17622         actioncmd only the specified modules, not the transitive closure.
17623
17624 2005-08-31  Bruno Haible  <bruno@clisp.org>
17625
17626         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
17627         Create directories that shall be filled.
17628         (import): Don't look for gl_* macros in configure.ac. Recurse across
17629         all directories containing a gnulib-cache.m4 files, if meaningful.
17630
17631 2005-08-31  Bruno Haible  <bruno@clisp.org>
17632
17633         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
17634         (import): Set seen_libtool when we see gl_LIBTOOL.
17635
17636 2005-08-31  Bruno Haible  <bruno@clisp.org>
17637
17638         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
17639         declaration macro definitions from generated gnulib.m4.
17640
17641 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
17642
17643         * lib/iconvme.h: Add prototype for iconv_alloc.
17644
17645 2005-08-29  Simon Josefsson  <jas@extundo.com>
17646
17647         * lib/iconvme.c: Fix errno.
17648
17649 2005-08-29  Bruno Haible  <bruno@clisp.org>
17650
17651         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
17652         that it works when the directory contains spaces.
17653
17654 2005-08-29  Bruno Haible  <bruno@clisp.org>
17655
17656         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
17657
17658 2005-08-29  Bruno Haible  <bruno@clisp.org>
17659
17660         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
17661         Emit more advice.
17662
17663 2005-08-29  Bruno Haible  <bruno@clisp.org>
17664         and Stepan Kasal  <kasal@ucw.cz>
17665
17666         * check-module: If more parameters are given, check each of them
17667         separately; add more exceptions, as noted by Jim Meyering.
17668         (check_module): New procedure.
17669         (%exempt_header): Now contains all exceptions.
17670
17671 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
17672
17673         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
17674
17675 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
17676
17677         * lib/iconvme.c: Split iconv_string into iconv_alloc.
17678
17679 2005-08-28  Bruno Haible  <bruno@clisp.org>
17680
17681         * m4/gnulib-tool.m4: New file.
17682
17683 2005-08-27  Jim Meyering  <jim@meyering.net>
17684
17685         * modules/unistd-safer (Files): Add pipe-safer.c.
17686         * modules/fcntl-safer (Files): Add creat-safer.c.
17687
17688 2005-08-27  Jim Meyering  <jim@meyering.net>
17689
17690         * m4/stdlib-safer.m4: New file.  From coreutils.
17691         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
17692         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
17693         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
17694         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
17695         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
17696
17697 2005-08-27  Jim Meyering  <jim@meyering.net>
17698
17699         * lib/fopen-safer.c: Merge minor changes from coreutils.
17700         * lib/dup-safer.c: Likewise.
17701         * lib/fd-safer.c: Likewise.
17702
17703         Merge from coreutils.
17704         * lib/stdio--.h: New file.
17705         * lib/stdlib--.h: New file.
17706         * lib/mkstemp-safer.c: New file.
17707
17708         GNU tar needs these.
17709         * lib/pipe-safer.c: New file.
17710         * lib/creat-safer.c: New file.
17711         * lib/fcntl--.h (creat): Define to creat_safer.
17712         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
17713         * lib/unistd--.h (pipe): Define to pipe_safer.
17714         * lib/unistd-safer.h: Declare pipe_safer.
17715
17716 2005-08-26  Simon Josefsson  <jas@extundo.com>
17717
17718         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
17719         Haible <bruno@clisp.org>.
17720
17721 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
17722
17723         * lib/regex_internal.h: Remove all references to
17724         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
17725         or better.
17726         (bitset_not, bitset_merge, bitset_not_merge):
17727         (bitset_mask, re_string_allocate, re_string_construct):
17728         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
17729         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
17730         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
17731         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
17732         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
17733         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
17734         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
17735         (re_acquire_state_context):
17736         Remove unnecessary forward decls.
17737         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
17738         Put __attribute at function definition,
17739         now that the function decl has been removed.
17740         * lib/regex_internal.c (re_string_peek_byte_case):
17741         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
17742         Likewise.
17743
17744 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
17745
17746         * m4/regex.m4: Add AC_PREREQ(2.50).
17747         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
17748
17749 2005-08-25  Simon Josefsson  <jas@extundo.com>
17750
17751         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
17752         __fsetlocking.
17753
17754 2005-08-25  Simon Josefsson  <jas@extundo.com>
17755
17756         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
17757         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
17758         GLIBC specific code.
17759
17760 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
17761
17762         Make regex safe for g++.  This fixes one real bug (an "err"
17763         that should have been "*err").  g++ problem reported by
17764         Sam Steingold.
17765         * lib/regex_internal.h (re_calloc): New macro, consistent with
17766         re_malloc etc.  All callers of calloc changed to use re_calloc.
17767         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
17768         not int.  All callers changed.
17769         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
17770         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
17771         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
17772         (find_recover_state): Change "err" to "*err"; this fixes what
17773         appears to be a real bug.
17774         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
17775         versus int.
17776
17777 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
17778
17779         * modules/regex (Depends-on): Add malloc, since the code
17780         assumes that !malloc(0) means failure.
17781
17782 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
17783
17784         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
17785
17786         alloca modernization/simplification for regex.
17787         * lib/regex.c: Remove portability cruft for alloca.  This no longer
17788         needs to be at the start of the file, and can be moved into
17789         regex_internal.h and simplified.
17790         * lib/regex_internal.h: Include <alloca.h>.
17791         (__libc_use_alloca) [!defined _LIBC]: New macro.
17792         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
17793         now works outside glibc.
17794
17795 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
17796
17797         * config/srclist.txt: Add glibc bugs 1241, 1245.
17798
17799 2005-08-25  Jim Meyering  <jim@meyering.net>
17800
17801         * lib/open-safer.c: Include <config.h>.
17802         Otherwise, we'd lose LARGEFILE support in any file using
17803         e.g. "fcntl--.h"
17804
17805 2005-08-25  Bruno Haible  <bruno@clisp.org>
17806
17807         * m4/minmax.m4: Require autoconf 2.52.
17808         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
17809         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
17810         alternatives of translit over the alphabet.
17811         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
17812
17813 2005-08-24  Simon Josefsson  <jas@extundo.com>
17814
17815         * tests/test-getpass.c: New file.
17816
17817 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
17818
17819         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
17820         for GNU regex features.
17821
17822 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
17823
17824         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
17825         * lib/regex.h (regerror): Likewise.
17826
17827         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
17828         requires this.  (The code never needed it.)
17829
17830         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
17831         All uses of recently-renamed identifiers changed to use the new,
17832         POSIX-compliant names.  The code will build and run just fine
17833         without these changes, but it's better to eat our own dog food
17834         and use the standard-conforming names.
17835
17836         * lib/regex.h: Fix a multitude of POSIX name space violations.
17837         These changes have an effect only for programs that define
17838         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
17839         do not change anything for programs compiled in the normal way.
17840         Also, there is no effect on the ABI.
17841
17842         (_REGEX_SOURCE): New macro.
17843         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
17844         defined and _GNU_SOURCE is not; this fixes a name space violation.
17845
17846         Rename the following macros to obey POSIX requirements.
17847         The old names are still visible as macros if _REGEX_SOURCE is defined.
17848         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
17849         RE_BACKSLASH_ESCAPE_IN_LISTS.
17850         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
17851         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
17852         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
17853         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
17854         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
17855         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
17856         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
17857         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
17858         (REG_INTERVALS): renamed from RE_INTERVALS.
17859         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
17860         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
17861         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
17862         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
17863         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
17864         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
17865         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
17866         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
17867         RE_UNMATCHED_RIGHT_PAREN_ORD.
17868         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
17869         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
17870         (REG_DEBUG): renamed from RE_DEBUG.
17871         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
17872         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
17873         unusual, since we can't clash with the POSIX REG_ICASE.
17874         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
17875         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
17876         (REG_NO_SUB): renamed from RE_NO_SUB.
17877         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
17878         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
17879         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
17880         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
17881         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
17882         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
17883         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
17884         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
17885         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
17886         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
17887         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
17888         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
17889         RE_SYNTAX_POSIX_MINIMAL_BASIC.
17890         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
17891         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
17892         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
17893         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
17894         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
17895         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
17896         (REG_FIXED): Renamed from REGS_FIXED.
17897         (REG_NREGS): Renamed from RE_NREGS.
17898
17899         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
17900         of other REG_* macros, since POSIX says the user is allowed to
17901         #undef these macros selectively.
17902
17903         (reg_errcode_t): Update comment stating what other tables need
17904         to be consistent.
17905
17906         Rename the following enum values to obey POSIX requirements.
17907         The old names are still visible as macros.
17908         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
17909         is not defined, since GNU is supposed to be a superset of POSIX as
17910         much as possible, and since we want reg_errcode_t to be a signed
17911         type for implementation consistency.
17912         (_REG_NOERROR): Renamed from REG_NOERROR.
17913         (_REG_NOMATCH): Renamed from REG_NOMATCH.
17914         (_REG_BADPAT): Renamed from REG_BADPAT.
17915         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
17916         (_REG_ECTYPE): Renamed from REG_ECTYPE.
17917         (_REG_EESCAPE): Renamed from REG_EESCAPE.
17918         (_REG_ESUBREG): Renamed from REG_ESUBREG.
17919         (_REG_EBRACK): Renamed from REG_EBRACK.
17920         (_REG_EPAREN): Renamed from REG_EPAREN.
17921         (_REG_EBRACE): Renamed from REG_EBRACE.
17922         (_REG_BADBR): Renamed from REG_BADBR.
17923         (_REG_ERANGE): Renamed from REG_ERANGE.
17924         (_REG_ESPACE): Renamed from REG_ESPACE.
17925         (_REG_BADRPT): Renamed from REG_BADRPT.
17926         (_REG_EEND): Renamed from REG_EEND.
17927         (_REG_ESIZE): Renamed from REG_ESIZE.
17928         (_REG_ERPAREN): Renamed from REG_ERPAREN.
17929         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
17930         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
17931         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
17932         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
17933
17934         (_REG_RE_NAME, _REG_RM_NAME): New macros.
17935         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
17936         changed.  But support the old name if the new one is not defined
17937         and if _REGEX_SOURCE.
17938
17939         Change the following member names in struct re_pattern_buffer.
17940         The old names are still supported if !_REGEX_SOURCE.
17941         The new names are always supported, regardless of _REGEX_SOURCE.
17942         (re_buffer): Renamed from buffer.
17943         (re_allocated): Renamed from allocated.
17944         (re_used): Renamed from used.
17945         (re_syntax): Renamed from syntax.
17946         (re_fastmap): Renamed from fastmap.
17947         (re_translate): Renamed from translate.
17948         (re_can_be_null): Renamed from can_be_null.
17949         (re_regs_allocated): Renamed from regs_allocated.
17950         (re_fastmap_accurate): Renamed from fastmap_accurate.
17951         (re_no_sub): Renamed from no_sub.
17952         (re_not_bol): Renamed from not_bol.
17953         (re_not_eol): Renamed from not_eol.
17954         (re_newline_anchor): Renamed from newline_anchor.
17955
17956         Change the following member names in struct re_registers.
17957         The old names are still supported if !_REGEX_SOURCE.
17958         The new names are always supported, regardless of _REGEX_SOURCE.
17959         (rm_num_regs): Renamed from num_regs.
17960         (rm_start): Renamed from start.
17961         (rm_end): Renamed from end.
17962
17963         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
17964         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
17965         Prepend __ to parameter names.
17966
17967         Undo yesterday's changes.
17968
17969 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
17970
17971         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
17972         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
17973         lib/regex.c.
17974
17975 2005-08-24  Jim Meyering  <jim@meyering.net>
17976
17977         Sync from coreutils.
17978         * m4/fcntl-safer.m4: New file.
17979
17980         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
17981         and object files for this module.
17982
17983 2005-08-24  Jim Meyering  <jim@meyering.net>
17984
17985         Sync from coreutils.
17986         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
17987
17988 2005-08-24  Jim Meyering  <jim@meyering.net>
17989
17990         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
17991         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
17992
17993 2005-08-24  Jim Meyering  <jim@meyering.net>
17994
17995         * modules/fcntl-safer: New module.
17996         * modules/fts (Depends-on): Add fcntl-safer.
17997         * MODULES.html.sh (File descriptor based Input/Output):
17998         Add fcntl-safer.
17999
18000 2005-08-24  Bruno Haible  <bruno@clisp.org>
18001
18002         Support for unit test modules.
18003         * modules/README: Mention tests modules.
18004         * modules/TEMPLATE-TESTS: New file.
18005         * gnulib-tool: New options --extract-tests-module, --with-tests and
18006         --tests-base (unused for the moment).
18007         (testsbase, inctests): New variables.
18008         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
18009         (func_verify_module): Exclude TEMPLATE-TESTS.
18010         (func_verify_nontests_module, func_verify_tests_module): New functions.
18011         (func_get_dependencies): Add implicit dependency for tests modules.
18012         (func_get_tests_module): New function.
18013         (func_modules_transitive_closure): When --with-tests was specified,
18014         include the unit tests as well, unless explicitly avoided.
18015         (func_emit_lib_Makefile_am): Ignore the tests modules here.
18016         (func_emit_tests_Makefile_am): New function.
18017         (func_create_testdir): When --with-tests was specified, emit a
18018         tests/ directory.
18019         * MODULES.html.sh (Future developments): Update.
18020
18021 2005-08-24  Bruno Haible  <bruno@clisp.org>
18022
18023         * modules/tls-tests: New file.
18024         * tests/test-tls.c: New file, from GNU gettext.
18025
18026 2005-08-24  Bruno Haible  <bruno@clisp.org>
18027
18028         * modules/lock-tests: New file.
18029         * tests/test-lock.c: New file, from GNU gettext.
18030
18031 2005-08-24  Bruno Haible  <bruno@clisp.org>
18032
18033         * lib/lock.h: Add multiple inclusion guard.
18034         * lib/tls.h: Add multiple inclusion guard.
18035
18036 2005-08-24  Bruno Haible  <bruno@clisp.org>
18037
18038         * gnulib-tool: Add support for the --aux-dir option to
18039         --create-testdir, --create-megatestdir, --test, --megatest.
18040         (func_create_testdir, func_create_megatestdir): Optionally emit a
18041         AC_CONFIG_AUX_DIR directive.
18042         (create-testdir, create-megatestdir, test, megatest): Provide a
18043         default value for $auxdir.
18044
18045 2005-08-24  Bruno Haible  <bruno@clisp.org>
18046
18047         * gnulib-tool (import): Use compound statement instead of subshell
18048         where possible.
18049
18050 2005-08-24  Bruno Haible  <bruno@clisp.org>
18051
18052         * gnulib-tool (import): Change --aux-dir default to "build-aux".
18053
18054 2005-08-24  Bruno Haible  <bruno@clisp.org>
18055
18056         * gnulib-tool (func_version): Update.
18057
18058 2005-08-24  Bruno Haible  <bruno@clisp.org>
18059
18060         * gnulib-tool (func_import, func_create_testdir,
18061         func_create_megatestdir): Quote all autoconf macro arguments.
18062
18063 2005-08-24  Bruno Haible  <bruno@clisp.org>
18064
18065         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
18066         option --force, because --force causes the aclocal.m4 of each
18067         subdirectory to be newer than the corresponding config.h.in.
18068
18069 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
18070
18071         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
18072         All contents moved to gl_REGEX.
18073         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
18074         assume that it does.
18075
18076 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
18077
18078         * lib/regex.h (REG_NOSYS)
18079         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
18080         Define, since POSIX requires it as of 2001.
18081         (_REG_ENOSYS)
18082         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
18083         New private symbol, used to keep the enum signed in all cases.
18084         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
18085         Youngman in
18086         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
18087
18088         * lib/regex_internal.c (re_string_skip_chars, register_state):
18089         (calc_state_hash):
18090         Remove forward decls; no longer needed now that we use prototypes.
18091         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
18092         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
18093         (clean_state_log_if_needed): Likewise.
18094
18095 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
18096
18097         * config/srclist.txt: Add glibc bugs 1231-1233.
18098
18099 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
18100
18101         Fix problems reported by Sam Steingold in
18102         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
18103         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
18104         assumed that reg_errcode_t is a signed type, which is not
18105         necessarily true if _XOPEN_SOURCE is not defined.
18106         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
18107         since some compilers warn about it otherwise.
18108
18109 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
18110
18111         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
18112         (init_word_char, create_initial_state, duplicate_node_closure):
18113         (fetch_token, peek_token_bracket, build_range_exp):
18114         (build_collating_symbol): Remove forward decls; no longer needed
18115         now that we use prototypes.
18116
18117         * lib/regcomp.c:
18118         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
18119         (re_compile_fastmap_iter, regcomp, regerror, regfree):
18120         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
18121         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
18122         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
18123         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
18124         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
18125         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
18126         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
18127         (build_range_exp, build_collating_symbol, parse_bracket_exp):
18128         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
18129         (build_charclass, build_charclass_op, fetch_number, create_tree):
18130         (create_token_tree, mark_opt_subexp, duplicate_tree):
18131         Use prototypes rather than old-style definitions.
18132
18133         * lib/regex_internal.c:
18134         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
18135         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
18136         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
18137         (re_string_reconstruct, re_string_peek_byte_case):
18138         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
18139         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
18140         (re_node_set_init_copy, re_node_set_add_intersect):
18141         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
18142         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
18143         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
18144         (re_acquire_state, re_acquire_state_context, register_state):
18145         (create_ci_newstate, create_cd_newstate, free_state):
18146         Likewise.
18147         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
18148         re_search_2):
18149         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
18150         (re_search_internal, prune_impossible_nodes):
18151         (acquire_init_state_context, check_matching, static):
18152         (check_halt_node_context, check_halt_state_context, proceed_next_node):
18153         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
18154         (update_regs, sift_states_backward, build_sifted_states):
18155         (clean_state_log_if_needed, merge_state_array):
18156         (update_cur_sifted_state, add_epsilon_src_nodes):
18157         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
18158         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
18159         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
18160         (find_recover_state, check_subexp_matching_top, transit_state_mb):
18161         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
18162         (check_arrival, check_arrival_add_next_nodes):
18163         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
18164         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
18165         (check_node_accept_bytes, check_node_accept, extend_buffers):
18166         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
18167         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
18168         (sift_ctx_init):
18169         Likewise.
18170
18171         * lib/regex_internal.h:
18172         (re_string_allocate, re_string_construct, re_string_reconstruct):
18173         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
18174         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
18175         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
18176         (re_string_context_at, re_string_peek_byte_case):
18177         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
18178         is defined, since we now use prototypes always.
18179
18180         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
18181         C89 or better.  All uses removed.
18182
18183 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
18184
18185         * config/srclist.txt: Add glibc bugs 1220-1227.
18186
18187 2005-08-20  Jim Meyering  <jim@meyering.net>
18188
18189         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
18190         of unused local, dfa.
18191
18192 2005-08-20  Bruno Haible  <bruno@clisp.org>
18193
18194         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
18195
18196 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
18197
18198         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
18199         (re_node_set_insert_last, re_dfa_add_node):
18200         Rename local variables to avoid GCC shadowing warnings.
18201
18202 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
18203
18204         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
18205         [defined lint]: Suppress bogus uninitialized-variable warnings.
18206
18207         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
18208         and let the caller return REG_ESPACE if out of space.  This
18209         removes an uninitialied-variable warning with GCC 4.0.1, and also
18210         avoids taking the address of a local variable.  All callers
18211         changed.
18212
18213 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
18214
18215         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
18216         $LIBCSRC/posix/regexec.c.
18217         Add glibc bug 1217 for regcomp.c.
18218
18219 2005-08-19  Jim Meyering  <jim@meyering.net>
18220
18221         * lib/regexec.c (proceed_next_node): Redo local variables to
18222         avoid GCC shadowing warnings.
18223
18224 2005-08-18  Bruno Haible  <bruno@clisp.org>
18225
18226         * lib/strstr.c (strstr): Fix return value in multibyte case.
18227         * lib/strcasestr.c (strcasestr): Likewise.
18228
18229 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
18230
18231         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
18232
18233 2005-08-17  Jim Meyering  <jim@meyering.net>
18234
18235         Make the %s format (seconds since the epoch) work for a negative
18236         number and when used with a zero-padded field width, e.g. %015s.
18237
18238         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
18239         label so that it precedes the code to set `digits'.  Otherwise,
18240         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
18241         print `00-22'.  Now, it prints `-0022', as it should.
18242
18243 2005-08-17  Bruno Haible  <bruno@clisp.org>
18244
18245         * modules/strstr (Files): Add m4/mbrtowc.m4.
18246         (Depends-on): Add mbuiter.
18247
18248 2005-08-17  Bruno Haible  <bruno@clisp.org>
18249
18250         * modules/strcasestr: New file.
18251         * MODULES.html.sh (String handling, based on ANSI C 89): Add
18252         strcasestr.
18253
18254 2005-08-17  Bruno Haible  <bruno@clisp.org>
18255
18256         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
18257
18258 2005-08-17  Bruno Haible  <bruno@clisp.org>
18259
18260         * modules/mbuiter: New file.
18261         * MODULES.html.sh (Extended multibyte and wide character utilities):
18262         Add mbuiter.
18263
18264 2005-08-17  Bruno Haible  <bruno@clisp.org>
18265
18266         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
18267         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
18268
18269 2005-08-17  Bruno Haible  <bruno@clisp.org>
18270
18271         * m4/strcasestr.m4: New file.
18272
18273 2005-08-17  Bruno Haible  <bruno@clisp.org>
18274
18275         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
18276         * lib/strstr.c: Completely rewritten, with multibyte locale support.
18277
18278 2005-08-17  Bruno Haible  <bruno@clisp.org>
18279
18280         * lib/strcasestr.h: New file.
18281         * lib/strcasestr.c: New file.
18282
18283 2005-08-17  Bruno Haible  <bruno@clisp.org>
18284
18285         * lib/strcasecmp.c: Use mbuiter.h.
18286
18287 2005-08-17  Bruno Haible  <bruno@clisp.org>
18288
18289         * lib/mbuiter.h: New file.
18290
18291 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
18292
18293         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
18294         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
18295         and gl_GETOPT are both invoked via different paths (as happens
18296         with GNU tar CVS because it uses both argp and getopt), the former
18297         wins.
18298
18299 2005-08-16  Bruno Haible  <bruno@clisp.org>
18300
18301         * modules/tls: New file.
18302         * MODULES.html.sh (Multithreading): Add tls.
18303
18304 2005-08-16  Bruno Haible  <bruno@clisp.org>
18305
18306         * modules/strnlen1: New file.
18307         * MODULES.html.sh (String handling): Add strnlen1.
18308
18309 2005-08-16  Bruno Haible  <bruno@clisp.org>
18310
18311         * modules/strcase (Files): Add m4/mbrtowc.m4.
18312         (Depends-on): Add strnlen1, mbchar.
18313
18314 2005-08-16  Bruno Haible  <bruno@clisp.org>
18315
18316         * modules/mbiter: New file.
18317         * MODULES.html.sh (Extended multibyte and wide character utilities):
18318         Add mbiter.
18319
18320 2005-08-16  Bruno Haible  <bruno@clisp.org>
18321
18322         * modules/mbfile: New file.
18323         * MODULES.html.sh (Extended multibyte and wide character utilities):
18324         Add mbfile.
18325
18326 2005-08-16  Bruno Haible  <bruno@clisp.org>
18327
18328         * modules/mbchar: New file.
18329         * MODULES.html.sh (Extended multibyte and wide character utilities):
18330         New section.
18331
18332 2005-08-16  Bruno Haible  <bruno@clisp.org>
18333
18334         * m4/tls.m4: New file, from GNU gettext.
18335
18336 2005-08-16  Bruno Haible  <bruno@clisp.org>
18337
18338         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
18339         always.
18340         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
18341
18342 2005-08-16  Bruno Haible  <bruno@clisp.org>
18343
18344         * m4/mbiter.m4: New file.
18345
18346 2005-08-16  Bruno Haible  <bruno@clisp.org>
18347
18348         * m4/mbfile.m4: New file.
18349
18350 2005-08-16  Bruno Haible  <bruno@clisp.org>
18351
18352         * m4/mbchar.m4: New file.
18353
18354 2005-08-16  Bruno Haible  <bruno@clisp.org>
18355
18356         * lib/tls.h: New file, from GNU gettext.
18357         * lib/tls.c: New file, from GNU gettext.
18358
18359 2005-08-16  Bruno Haible  <bruno@clisp.org>
18360
18361         * lib/strnlen1.h: New file.
18362         * lib/strnlen1.c: New file.
18363
18364 2005-08-16  Bruno Haible  <bruno@clisp.org>
18365
18366         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
18367         (mbi_init): Update.
18368         (mbi_avail, mbi_advance): Let the iteration end before the terminating
18369         NUL byte, not after it.
18370
18371 2005-08-16  Bruno Haible  <bruno@clisp.org>
18372
18373         * lib/strcase.h (strcasecmp): Add note in comments.
18374         * lib/strncasecmp.c: Use code from strcasecmp.c.
18375         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
18376         (strcasecmp): Work correctly in multibyte locales.
18377
18378 2005-08-16  Bruno Haible  <bruno@clisp.org>
18379
18380         * lib/mbiter.h: New file.
18381
18382 2005-08-16  Bruno Haible  <bruno@clisp.org>
18383
18384         * lib/mbfile.h: New file.
18385
18386 2005-08-16  Bruno Haible  <bruno@clisp.org>
18387
18388         * lib/mbchar.h: New file.
18389         * lib/mbchar.c: New file.
18390
18391 2005-08-16  Bruno Haible  <bruno@clisp.org>
18392
18393         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
18394         the valid ones. Makes the comparison operations transitive:
18395         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
18396         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
18397
18398 2005-08-15  Simon Josefsson  <jas@extundo.com>
18399
18400         * modules/ssize_t (License): Change to 'unlimited'.
18401
18402         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
18403
18404 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
18405
18406         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
18407         Add comments for each pending glibc patch.
18408
18409 2005-08-15  Bruno Haible  <bruno@clisp.org>
18410
18411         * lib/regex.h (__restrict_arr): Don't define to __restrict if
18412         __cplusplus is defined.
18413
18414 2005-08-14  Jim Meyering  <jim@meyering.net>
18415
18416         Sync from coreutils.
18417
18418         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
18419         Use the hash-table-based cycle-detection code not just when
18420         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
18421         Reported by James Youngman in
18422         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
18423         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
18424         FTS_TIGHT_CYCLE_CHECK.
18425         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
18426         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
18427         once again.
18428         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
18429         * lib/fts.c (fd_safer): Remove decl.
18430         Include fcntl--.h rather than unistd-safer.h
18431         (fts_safe_changedir): Don't call fd_safer; no longer needed
18432         now that we include fcntl--.h.
18433
18434 2005-08-12  Simon Josefsson  <jas@extundo.com>
18435
18436         * modules/getndelim2: Use ssize_t module.
18437         * modules/getnline: Likewise.
18438         * modules/safe-read: Likewise.
18439         * modules/xreadlink: Likewise.
18440
18441         * modules/ssize_t: New file.
18442
18443 2005-08-12  Simon Josefsson  <jas@extundo.com>
18444
18445         * m4/readline.m4: Look for termcap, curses or ncurses if required.
18446
18447 2005-08-12  Simon Josefsson  <jas@extundo.com>
18448
18449         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
18450         ssize_t.
18451
18452 2005-08-12  Simon Josefsson  <jas@extundo.com>
18453
18454         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
18455         readline, getdelim and check_version.
18456         (Support for systems lacking ISO C 99: Sizes of integer types):
18457         Add size_max.
18458
18459 2005-08-12  Bruno Haible  <bruno@clisp.org>
18460
18461         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
18462
18463 2005-08-11  Simon Josefsson  <jas@extundo.com>
18464
18465         * modules/readline: New file.
18466
18467         * modules/strnlen (Files): Add strnlen.h.
18468
18469 2005-08-11  Simon Josefsson  <jas@extundo.com>
18470
18471         * m4/readline.m4: New file.
18472
18473 2005-08-11  Simon Josefsson  <jas@extundo.com>
18474
18475         * lib/readline.h, readline.c: New file.
18476
18477 2005-08-11  Simon Josefsson  <jas@extundo.com>
18478
18479         * doc/gnulib.texi (Initial import, Finishing touches): Mention
18480         gl_AVOID.
18481
18482 2005-08-11  Bruno Haible  <bruno@clisp.org>
18483
18484         * lib/strnlen.h (strnlen): Change parameter name to match comment.
18485
18486 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
18487
18488         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
18489
18490 2005-08-10  Simon Josefsson  <jas@extundo.com>
18491
18492         * tests/test-iconvme.c: New file.
18493
18494 2005-08-10  Simon Josefsson  <jas@extundo.com>
18495
18496         * m4/strnlen.m4: New file.
18497
18498         * m4/strndup.m4: Don't check for strnlen declaration, done in
18499         strnlen.m4.
18500
18501 2005-08-10  Simon Josefsson  <jas@extundo.com>
18502
18503         * lib/strndup.c: Use strnlen.h.
18504
18505         * lib/strnlen.h: New file.
18506
18507 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
18508
18509         * README: Typos.
18510
18511 2005-08-02  Simon Josefsson  <jas@extundo.com>
18512
18513         * modules/readline: New file.
18514
18515 2005-08-02  Simon Josefsson  <jas@extundo.com>
18516
18517         * modules/getdelim: New file.
18518
18519         * modules/getline: Rewrite, don't use getndelim2.
18520
18521 2005-08-02  Simon Josefsson  <jas@extundo.com>
18522
18523         * m4/getline.m4: Separate out getdelim stuff into separate module.
18524
18525         * m4/getdelim.m4: New file.
18526
18527 2005-08-02  Simon Josefsson  <jas@extundo.com>
18528
18529         * lib/getline.h, getline.c: Rewrite.
18530
18531         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
18532
18533 2005-07-31  Bruno Haible  <bruno@clisp.org>
18534
18535         * lib/lock.h (gl_lock_initializer): New macro.
18536         (gl_lock_define_initialized): Use it.
18537         (gl_rwlock_initializer): New macro.
18538         (gl_rwlock_define_initialized): Use it.
18539         (gl_recursive_lock_initializer): New macro.
18540         (gl_recursive_lock_define_initialized): Use it.
18541
18542 2005-07-30  Karl Berry  <karl@gnu.org>
18543
18544         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
18545         Report from Ben Pfaff, regarding getopt.
18546
18547 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
18548
18549         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
18550         normal way.
18551         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
18552         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
18553         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
18554         (gl_GETOPT): Use the new macros.  Most of the implementation
18555         is moved to the new macros.  This is for programs like Emacs
18556         that don't want all the functionality of gl_GETOPT.
18557
18558 2005-07-26  Bruno Haible  <bruno@clisp.org>
18559
18560         * m4/lock.m4: Update from GNU gettext.
18561
18562 2005-07-26  Bruno Haible  <bruno@clisp.org>
18563
18564         * lib/lock.h: Update from GNU gettext.
18565         * lib/lock.c: Update from GNU gettext.
18566
18567 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
18568
18569         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
18570         obsolescent AC_TRY_RUN.  Include the default includes files, for
18571         'exit'.
18572
18573 2005-07-24  Bruno Haible  <bruno@clisp.org>
18574
18575         * modules/visibility: New file.
18576         * MODULES.html.sh (Misc): Add visibility.
18577
18578 2005-07-24  Bruno Haible  <bruno@clisp.org>
18579
18580         * m4/visibility.m4: New file.
18581
18582 2005-07-24  Bruno Haible  <bruno@clisp.org>
18583
18584         * doc/visibility.texi: New file.
18585
18586 2005-07-22  Bruno Haible  <bruno@clisp.org>
18587
18588         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
18589         $(ALLOCA_H), redundant through BUILT_SOURCES.
18590         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
18591         redundant through BUILT_SOURCES.
18592         * modules/byteswap (Makefile.am): Remove explicit dependency on
18593         $(BYTESWAP_H), redundant through BUILT_SOURCES.
18594         * modules/fnmatch (Makefile.am): Remove explicit dependency on
18595         $(FNMATCH_H), redundant through BUILT_SOURCES.
18596         * modules/getopt (Makefile.am): Remove explicit dependency on
18597         $(GETOPT_H), redundant through BUILT_SOURCES.
18598         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
18599         redundant through BUILT_SOURCES.
18600         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
18601         redundant through BUILT_SOURCES.
18602         * modules/stdbool (Makefile.am): Remove explicit dependency on
18603         $(STDBOOL_H), redundant through BUILT_SOURCES.
18604         * modules/stdint (Makefile.am): Remove explicit dependency on
18605         $(STDINT_H), redundant through BUILT_SOURCES.
18606         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
18607         Remove explicit dependency on $(SYSEXITS_H).
18608         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
18609
18610 2005-07-18  Simon Josefsson  <jas@extundo.com>
18611
18612         * lib/check-version.c (check_version): Accept identical versions too.
18613
18614 2005-07-18  Bruno Haible  <bruno@clisp.org>
18615
18616         * modules/lock: New file.
18617         * MODULES.html.sh (Multithreading): New section.
18618
18619 2005-07-18  Bruno Haible  <bruno@clisp.org>
18620
18621         * m4/lock.m4: New file, from GNU gettext.
18622
18623 2005-07-18  Bruno Haible  <bruno@clisp.org>
18624
18625         * lib/lock.h: New file, from GNU gettext.
18626         * lib/lock.c: New file, from GNU gettext.
18627
18628 2005-07-18  Bruno Haible  <bruno@clisp.org>
18629
18630         * lib/lock.h (gl_once_t): New type.
18631         (gl_once_define, gl_once): New macros.
18632         * lib/lock.c (fresh_once): New variable.
18633         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
18634         functions.
18635
18636 2005-07-16  Simon Josefsson  <jas@extundo.com>
18637
18638         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
18639         workaround, suggested by Bruno.
18640
18641 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
18642
18643         * modules/xalloc (Depends-on): Add xalloc-die.
18644         * modules/xvasprintf (Depends-on): Add xalloc-die.
18645
18646 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
18647
18648         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
18649         with a minor change.
18650
18651 2005-07-15  Bruno Haible  <bruno@clisp.org>
18652
18653         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
18654         When using lib/poll.c, define poll as rpl_poll.
18655
18656 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
18657
18658         * modules/argp (Depends-on): Remove unlocked-io.
18659
18660 2005-07-14  Derek Price  <derek@ximbiot.com>
18661
18662         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
18663         for glob symlink bug.
18664
18665 2005-07-14  Bruno Haible  <bruno@clisp.org>
18666
18667         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
18668         Instead, test for *_unlocked function declarations directly.
18669
18670 2005-07-11  Simon Josefsson  <jas@extundo.com>
18671
18672         * modules/size_max: New file.
18673
18674         * modules/xsize: Depend on size_max module for size_max.m4.
18675
18676 2005-07-11  Simon Josefsson  <jas@extundo.com>
18677
18678         * lib/size_max.h: New file.
18679
18680 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
18681
18682         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
18683         copyright symbol and the year.
18684         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
18685         (version_etc_va): Use parameterized copyright notice.
18686         Reword to conform to the current GNU coding standards.
18687
18688 2005-07-11  Karl Berry  <karl@gnu.org>
18689
18690         * doc/gnulib.texi (Quoting): new node.
18691         (Initial import): more info, from Patrice.
18692
18693 2005-07-11  Bruno Haible  <bruno@clisp.org>
18694
18695         * gnulib-tool (func_usage): Document option --avoid.
18696         (Command line options): Handle --avoid.
18697         (func_acceptable): New function.
18698         (func_modules_transitive_closure): Use it.
18699
18700 2005-07-11  Bruno Haible  <bruno@clisp.org>
18701
18702         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
18703         Reported by Jim Meyering.
18704
18705 2005-07-10  Bruno Haible  <bruno@clisp.org>
18706
18707         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
18708         Needed when size_t is smaller than 'unsigned int'.
18709         Reported by Paul Eggert.
18710
18711 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
18712
18713         * modules/argp (Depends-on): Add unlocked-io
18714
18715 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
18716
18717         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
18718         block of defines.
18719
18720 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
18721
18722         * config/srclist.txt: Comment out regcomp.c, since we have a porting
18723         fix now.
18724
18725 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
18726         and Paul Eggert  <eggert@cs.ucla.edu>
18727
18728         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
18729         in wint_t, not wchar_t.  Remove now-unnecessary cast.
18730
18731 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
18732
18733         * modules/regex (Files): Add lib/regex_internal.c,
18734         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
18735         (Depends-on): Add extensions.
18736         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
18737
18738 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
18739
18740         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
18741         pathconf.
18742         * m4/same.m4 (gl_SAME): Likewise.
18743         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
18744
18745         * m4/regex.m4: Adjust to new libc regex implementation.
18746         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
18747         all the .c and .h parts of (the new) regex.
18748         Quote the m4 stuff better.
18749         Check for RE_ICASE bug of old gnulib.
18750         Check for REG_STARTEND of recent libc.
18751         Rename local variables from jm_* to gl_*.
18752         Quote operand of "test -f".
18753         Say "recent enough" version of libc, not "version 2".
18754         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
18755         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
18756         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
18757         Remove check for btowc, isascii.
18758         Require AM_LANGINFO_CODESET.
18759
18760 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
18761
18762         * lib/regex.c, regex.h: Sync from libc.
18763         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
18764         * lib/regexec.c:
18765         New files, synced from libc, except that regex_internal.h
18766         currently has a small porting fix.
18767
18768 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
18769
18770         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
18771         regex_internal.c, regexec.c.
18772         Add regex_internal.h too, but as a comment, since the libc version
18773         is currently broken in gnulib mode.
18774
18775 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18776
18777         Support programs like Emacs that use gnulib but not gettext.
18778         * MODULES.html.sh (Internationalization functions): Add gettext-h.
18779         * modules/gettext-h: New file.
18780         * modules/gettext (Files): Remove lib/gettext.h.
18781         (Depends-on): Add gettext-h.
18782         (Makefile.am): Remove lib_SOURCES.
18783         * modules/argmatch, modules/c-stack, modules/closeout:
18784         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
18785         * modules/execute, modules/file-type, modules/getaddrinfo:
18786         * modules/getopt, modules/human, modules/javacomp:
18787         * modules/javaexec, modules/mkdir-p, modules/obstack:
18788         * modules/openat, modules/pagealign_alloc, modules/pipe:
18789         * modules/quotearg, modules/regex, modules/rpmatch:
18790         * modules/unicodeio, modules/userspec, modules/version-etc:
18791         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
18792         * modules/xsetenv:
18793         Depend on gettext-h, not gettext.
18794
18795 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
18796
18797         * gnulib-tool (func_import): Add support for 'public domain' license.
18798         * modules/alloca, modules/atexit, modules/memmove:
18799         Now public domain, not GPL.
18800         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
18801         * modules/realloc, modules/strerror, modules/strtod:
18802         Now LGPL, not GPL.
18803
18804 2005-07-05  Bruno Haible  <bruno@clisp.org>
18805
18806         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
18807         autoconf CVS. Needed for mingw.
18808
18809 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
18810
18811         Remove the dependency of the strftime module on the tzset module.
18812         * modules/strftime (Depends-on): Remove dependency on tzset.
18813
18814 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
18815
18816         Remove the dependency of the strftime module on the tzset module.
18817         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
18818         gl_FUNC_TZSET_CLOBBER.
18819
18820 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
18821
18822         Remove the dependency of the strftime module on the tzset module.
18823         * lib/strftime.c (my_strftime)
18824         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
18825         Copy the input structure, to work around some of the bug with
18826         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
18827         Solaris releases, you should also use the tzset module, but we won't
18828         require it as a dependency any more since we don't want LGPLed code
18829         to depend on GPLed code.
18830
18831 2005-07-02  Jim Meyering  <jim@meyering.net>
18832
18833         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
18834         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
18835         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
18836         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
18837
18838 2005-07-02  Jim Meyering  <jim@meyering.net>
18839
18840         * lib/backupfile.c (backup_args): Change a `0' to NULL.
18841
18842 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18843
18844         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
18845         declares only 'struct timespec;' (!).
18846
18847 2005-07-01  Jim Meyering  <jim@meyering.net>
18848
18849         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
18850         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
18851         * lib/save-cwd.c, tempname.c:
18852         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
18853         and don't include <sys/file.h>).
18854
18855 2005-06-29  Jim Meyering  <jim@meyering.net>
18856
18857         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
18858         type name.  Use the variable name instead.
18859         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
18860         Likewise.
18861
18862 2005-06-28  Simon Josefsson  <jas@extundo.com>
18863
18864         * modules/check-version (Files): Add check-version.m4.
18865
18866 2005-06-28  Simon Josefsson  <jas@extundo.com>
18867
18868         * m4/check-version.m4: New file, suggested by Jim Meyering
18869         <jim@meyering.net>.
18870
18871 2005-06-28  Simon Josefsson  <jas@extundo.com>
18872
18873         * lib/check-version.h, lib/check-version.c: New files.
18874
18875 2005-06-28  Simon Josefsson  <jas@extundo.com>
18876
18877         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
18878         collision with global variable.  Better indentation.  Don't
18879         increment buffer pointer beyond buffer end.  Based on comments
18880         from Paul Eggert <eggert@cs.ucla.edu>.
18881
18882         * lib/base64.h: Indent.
18883
18884 2005-06-28  Simon Josefsson  <jas@extundo.com>
18885
18886         * doc/gnulib.texi (Library version handling): New section.
18887
18888 2005-06-28  Jim Meyering  <jim@meyering.net>
18889
18890         * check-module (find_included_lib_files): Hard-code another
18891         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
18892         but modules/fts-lgpl (correctly) does not list those files.
18893
18894         * modules/canonicalize (Files): Add lib/pathmax.h.
18895
18896 2005-06-25  Simon Josefsson  <jas@extundo.com>
18897
18898         * modules/check-version: New file.
18899
18900 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
18901
18902         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
18903         initializer of struct addrinfo, as an indication that we don't
18904         care how many members the structure has.
18905
18906 2005-06-24  Derek Price  <derek@ximbiot.com>
18907         and Bruno Haible  <bruno@clisp.org>
18908
18909         Remove stat module & update lstat.
18910         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
18911         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
18912         * m4/stat.m4: Remove this file.
18913
18914 2005-06-24  Derek Price  <derek@ximbiot.com>
18915         and Bruno Haible  <bruno@clisp.org>
18916
18917         Remove stat module & update lstat.
18918         * lib/stat.c: Remove this file...
18919         (slash_aware_lstat): ...moving this content and its support...
18920         * lib/lstat.c (rpl_lstat): ...into here.
18921         * lib/lstat.h: New file.
18922
18923 2005-06-24  Derek Price  <derek@ximbiot.com>
18924         and Bruno Haible  <bruno@clisp.org>
18925
18926         Remove stat module & update lstat.
18927         * config/srclist.txt (libc sources): Remove stat.
18928
18929 2005-06-24  Derek Price  <derek@ximbiot.com>
18930         and Bruno Haible  <bruno@clisp.org>
18931
18932         Remove stat module & update lstat.
18933         * MODULES.html.sh (stat): Remove.
18934         * MODULES.html: Regenerated.
18935         * modules/lstat (Description): Correct function name.
18936         (Files): Add "lstat.h".
18937         (Depends-on): Remove stat, add xalloc, stat-macros.
18938         * modules/stat: Remove this file.
18939         (Include): Add "lstat.h", remove <sys/stat.h>.
18940
18941 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
18942
18943         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
18944         (ranged_convert): Don't save conversion in a temporary struct.
18945         This causes a warning with GCC 4.0.0, and anyway in the typical
18946         case it's not worth the extra 100 bytes or so of code.
18947         (ranged_convert, __mktime_internal): When calling a function via a
18948         pointer P, use P () rather than (*P) (), as we now assume C89 or
18949         better.
18950
18951 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
18952
18953         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
18954         "who -r" failed to give output.  Problem reported by Tim Waugh.
18955
18956         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
18957         (xcalloc): Use it to avoid needless tests.
18958         Problem reported by Jim Meyering.
18959
18960 2005-06-20  Derek Price  <derek@ximbiot.com>
18961
18962         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
18963         unnecessary for Autoconfs > 2.59c.
18964
18965 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
18966
18967         * lib/argp.h (__option_is_short): Check upper limit of
18968         __key. Isprint() requires its argument to have the value
18969         of an unsigned char or EOF.
18970
18971 2005-06-16  Jim Meyering  <jim@meyering.net>
18972
18973         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
18974         when either N or S is zero.
18975
18976 2005-06-16  Derek Price  <derek@ximbiot.com>
18977
18978         * m4/bison.m4: Declare YACC & YFLAGS precious.
18979
18980 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
18981
18982         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
18983         multibyte string or pattern, fall back on unibyte matching.
18984         Problem reported by James Youngman.
18985
18986 2005-06-08  Bruno Haible  <bruno@clisp.org>
18987
18988         * modules/csharpcomp: New file.
18989         * MODULES.html.sh (C#): Add csharpcomp.
18990
18991 2005-06-08  Bruno Haible  <bruno@clisp.org>
18992
18993         * m4/csharpcomp.m4: New file, from GNU gettext.
18994
18995 2005-06-08  Bruno Haible  <bruno@clisp.org>
18996
18997         * lib/csharpcomp.h: New file, from GNU gettext.
18998         * lib/csharpcomp.c: New file, from GNU gettext.
18999         * lib/csharpcomp.sh.in: New file, from GNU gettext.
19000
19001 2005-06-08  Bruno Haible  <bruno@clisp.org>
19002
19003         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
19004         warning on mingw.
19005
19006 2005-06-07  Derek Price  <derek@ximbiot.com>
19007
19008         Sync from CVS.
19009         * lib/glob_.h: Indent nested #ifdef.
19010
19011 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19012
19013         Sync from coreutils.
19014         Use "file name" when talking about file names, instead of "filename"
19015         or "path", as per the GNU coding standards.
19016         * lib/mkdir-p.c: Renamed from makepath.c.
19017         (make_dir_parents): Renamed from make_path.  All callers changed.
19018         * lib/mkdir-p.h: Likewise.  All includers changed.
19019         * lib/filenamecat.c: Renamed from path-concat.c.
19020         (file_name_concat): Renamed from path_concat.  All callers changed.
19021         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
19022         * lib/filenamecat.h: Likewise.  All includers changed.
19023         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
19024         in comments or local variable names.
19025         * lib/basename.c: Likewise.
19026         * lib/canonicalize.c, canonicalize.h: Likewise.
19027         * lib/dirname.c, dirname.h: Likewise.
19028         * lib/euidaccess.c: Likewise.
19029         * lib/exclude.c: Likewise
19030         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
19031         * lib/fsusage.c, fsuage.h: Likewise.
19032         * lib/fts.c, fts_.h: Likewise.
19033         * lib/getcwd.c: Likewise.
19034         * lib/getloadavg.c: Likewise.
19035         * lib/mkstemp.c: Likewise.
19036         * lib/mountlist.c, mountlist.h: Likewise.
19037         * lib/openat.c, openat.h: Likewise.
19038         * lib/readlink-stub.c: Likewise.
19039         * lib/readutmp.c, readutmp.h: Likewise.
19040         * lib/rename.c: Likewise.
19041         * lib/rmdir.c: Likewise.
19042         * lib/same.c: Likewise.
19043         * lib/savedir.c: Likewise.
19044         * lib/stripslash.c: Likewise.
19045         * lib/tempname.c: Likewise.
19046         * lib/xreadlink.c: Likewise.
19047         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
19048         All uses changed.
19049         * lib/exclude.h: Likewise.
19050
19051         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
19052         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
19053         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
19054         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
19055         * lib/pathmax.h: Include <limits.h> unconditionally, since other
19056         files have been getting away with it for years (MORE/BSD 4.3
19057         is extinct now).
19058         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
19059         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
19060
19061         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
19062         Define to 256, not 255, as per modern POSIX.
19063
19064 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19065
19066         Sync from coreutils.
19067         Use "file name" when talking about file names, instead of "filename"
19068         or "path", as per the GNU coding standards.
19069         * MODULES.html.sh: mkdir-p renamed from makepath.
19070         filenamecat renamed from path-concat.
19071         * modules/filenamecat: Renamed from modules/path-concat.
19072         (Files): filenamecat.h and filenamecat.c renamed from
19073         path-concat.h and path-concat.c.
19074         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
19075         (Include): filenamecat.h, not path-concat.h.
19076         * modules/mkdir-p: Renamed from modules/makepath.
19077         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
19078         makepath.c.
19079         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
19080         (Include): mkdir-p.h, not makepath.h.
19081
19082 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19083
19084         Sync from coreutils.
19085         * m4/mkdir-p.m4: Renamed from makepath.m4.
19086         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
19087         Rename files from makepath.c to mkdir-p.c, and from
19088         makepath.h to mkdir-p.h.
19089         * m4/filenamecat.m4: Renamed from path-concat.m4.
19090         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
19091         Rename files from path-concat.c to filenamecat.c,
19092         and from path-concat.h to filenamecat.h.
19093         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
19094         "file name" in local variables or comments.
19095         * m4/rename.m4: Likewise.
19096
19097 2005-06-01  Bruno Haible  <bruno@clisp.org>
19098
19099         * modules/csharpexec: New file.
19100         * MODULES.html.sh (C#): New section.
19101
19102 2005-06-01  Bruno Haible  <bruno@clisp.org>
19103
19104         * m4/csharp.m4: New file, from GNU gettext.
19105         * m4/csharpexec.m4: New file, from GNU gettext.
19106
19107 2005-06-01  Bruno Haible  <bruno@clisp.org>
19108
19109         * lib/csharpexec.h: New file, from GNU gettext.
19110         * lib/csharpexec.c: New file, from GNU gettext.
19111         * lib/csharpexec.sh.in: New file, from GNU gettext.
19112
19113 2005-05-31  Derek Price  <derek@ximbiot.com>
19114             Paul Eggert  <eggert@cs.ucla.edu>
19115
19116         Sync from cvs.
19117         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
19118
19119 2005-05-31  Derek Price  <derek@ximbiot.com>
19120             Paul Eggert  <eggert@cs.ucla.edu>
19121
19122         Sync from cvs.
19123         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
19124
19125 2005-05-29  Derek Price  <derek@ximbiot.com>
19126
19127         * config/srclist.txt (glob_.h, glob.c): Add these files.
19128
19129 2005-05-29  Derek Price  <derek@ximbiot.com>
19130
19131         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
19132         * modules/glob: New file.
19133         * modules/getlogin_r: Add link to POSIX spec in description.
19134
19135 2005-05-29  Derek Price  <derek@ximbiot.com>
19136             Paul Eggert  <eggert@cs.ucla.edu>
19137
19138         * m4/glob.m4: New file.
19139
19140 2005-05-29  Derek Price  <derek@ximbiot.com>
19141             Paul Eggert  <eggert@cs.ucla.edu>
19142
19143         * lib/glob_.h, lib/glob.c: New files.
19144
19145 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
19146
19147         * modules/fts (Files): Remove m4/inttypes-pri.m4.
19148         * modules/fts-lgpl (Depends-on): Remove gettext.
19149
19150 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
19151
19152         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
19153         and don't require gt_INTTYPES_PRI.
19154
19155 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
19156
19157         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
19158
19159         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
19160         the configuration hassle isn't worth it.
19161         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
19162         (LONGEST_MODIFIER, PRIuMAX): Remove.
19163
19164 2005-05-27  Bruno Haible  <bruno@clisp.org>
19165
19166         * lib/getlogin_r.h: Remove second include of <stddef.h>.
19167
19168 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
19169
19170         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
19171         _POSIX_PTHREAD_SEMANTICS for Solaris.
19172
19173 2005-05-25  Derek Price  <derek@ximbiot.com>
19174
19175         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
19176
19177 2005-05-25  Derek Price  <derek@ximbiot.com>
19178             Paul Eggert  <eggert@cs.ucla.edu>
19179
19180         * modules/getlogin_r, m4/getlogin_r.m4: New files.
19181         * lib/getlogin_r.c, getlogin_r.h: New files.
19182
19183 2005-05-25  Bruno Haible  <bruno@clisp.org>
19184             Derek Price  <derek@ximbiot.com>
19185
19186         * lib/getlogin_r.h: Simplify API documentation.
19187
19188 2005-05-23  Derek Price  <derek@ximbiot.com>
19189
19190         * modules/minmax (Files): Add m4/minmax.m4.
19191         (configure.ac): Add gl_MINMAX.
19192
19193 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
19194
19195         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
19196         so that unistd-safer.h (GPL'ed code) need not be included.
19197
19198 2005-05-22  Bruno Haible  <bruno@clisp.org>
19199
19200         * m4/minmax.m4: New file.
19201         Based on a patch by Derek Price <derek@ximbiot.com>.
19202
19203 2005-05-22  Bruno Haible  <bruno@clisp.org>
19204
19205         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
19206         (INT64_MIN): Fix definition.
19207         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
19208
19209         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
19210         NEED_SIGNED_INT_TYPES.
19211
19212         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
19213         HAVE_SYSTEM_INTTYPES.
19214
19215 2005-05-22  Bruno Haible  <bruno@clisp.org>
19216
19217         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
19218         Also include <sys/param.h> if it defines MIN, MAX.
19219         Based on a patch by Derek Price <derek@ximbiot.com>.
19220
19221 2005-05-21  Jim Meyering  <jim@meyering.net>
19222
19223         * modules/fts (Files): Add m4/inttypes-pri.m4.
19224         (Depends-on): Add lstat and remove gettext.  Alphabetize.
19225
19226 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
19227
19228         New fts module.
19229         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
19230         (setup_dir, free_dir): New functions.
19231         (enter_dir, leave_dir): Define trivial
19232         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
19233         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
19234         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
19235         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
19236         Move to fts-cycle.c.
19237         (fts_open): Use setup_dir.
19238         (fts_close): Use free_dir.
19239         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
19240         This adds a label and some gotos, but the alternatives were messier.
19241         Check for memory allocation failure when entering a dir.
19242         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
19243         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
19244         (FTS): New member fts_cycle, that is a union that contains the
19245         old active_dir_ht and cycle_state.  All uses changed to mention
19246         fts_cycle.ht and fts_cycle.state.
19247         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
19248         fts.c, with the following changes:
19249         (setup_dir, free_dir): New functions.
19250         (enter_dir): Now returns bool.  Return true if successful, false
19251         if memory exhausted.  All callers changed.
19252         Do not bother partly cleaning up on
19253         memory allocation failure; that is free_dir's job.
19254         However, free ad if hash_insert fails, to avoid memory leak.
19255         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
19256         fts->fts_options to see which union member to use.
19257
19258 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
19259
19260         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
19261         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
19262
19263 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
19264
19265         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
19266
19267 2005-05-20  Jim Meyering  <jim@meyering.net>
19268
19269         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
19270         Now a macro, to pacify GCC.
19271
19272 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
19273
19274         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
19275         of -1.
19276
19277 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
19278
19279         * lib/chown.c (rpl_chown): Return -1 on failure.
19280
19281 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
19282
19283         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
19284         Don't check for stddef.h.
19285         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
19286         don't use its results.
19287         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
19288         since we include them unconditionally.  Don't require
19289         AM_STDBOOL_H, since stdbool is a prerequisite.
19290         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
19291         since we assume C89 or better.
19292         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
19293         as we don't use their results.
19294         Don't check for fchdir, memmove, memset, strrchr, as we use
19295         them unconditionally.
19296         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
19297         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
19298
19299 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
19300
19301         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
19302         Include <stddef.h> unconditionally, since we assume C89 now.
19303         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
19304         * lib/fts.c: Include fts_.h first, to check interface.
19305         Do not include intprops.h; no longer needed.
19306         Include cycle-check.h and hash.h, since fts_.h no longer does.
19307         Remove unnecessary casts of closedir to void.
19308         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
19309         decide whether to decrement nlinks.
19310         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
19311         (FTS): Use struct hash_table * instead of Hash_table, so that
19312         we no longer need to include hash.h here.
19313
19314 2005-05-18  Jim Meyering  <jim@meyering.net>
19315
19316         * modules/dirfd (License): Change to LGPL.  Most of the code
19317         is already in the public domain.
19318
19319 2005-05-18  Jim Meyering  <jim@meyering.net>
19320
19321         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
19322         Reported by Yoann Vandoorselaere.
19323
19324 2005-05-17  Jim Meyering  <jim@meyering.net>
19325
19326         * m4/fts.m4: New file, from coreutils.
19327
19328 2005-05-17  Jim Meyering  <jim@meyering.net>
19329
19330         * lib/fts.c, lib/fts_.h: New files, from coreutils.
19331
19332 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
19333
19334         Sync from coreutils.
19335         * m4/unlinkdir.m4: New file.
19336
19337 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
19338
19339         Sync from coreutils.
19340         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
19341         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
19342         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
19343         White space changes only.
19344         * lib/makepath.c (make_path): Port to hosts where leading "//" is
19345         special.
19346         * lib/yesno.c: Include getline.h, not ctype.h.
19347         (yesno): Don't remove leading white space; POSIX doesn't allow it.
19348         Use getline to remove arbitrary restriction on response length.
19349
19350 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
19351
19352         * config/srclist-update: Spell out "Street" in FSF postal
19353         mail address; this is the style the FSF seems to prefer.
19354
19355         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
19356         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
19357         this updates FSF postal mail address.
19358
19359         Sync from coreutils.
19360         * modules/unlinkdir: New file.
19361         * modules/yesno (Depends-on): Add getline.
19362         * MODULES.html.sh (File system functions): Add unlinkdir.
19363
19364 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
19365
19366         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
19367         lib/strsep.h:
19368         Change the initial comment to refer to GPL, not LGPL.
19369         gnulib-tool will change it to LGPL as needed.
19370
19371         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
19372         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
19373         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
19374         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
19375         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
19376         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
19377         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
19378         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
19379         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
19380         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
19381         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
19382         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
19383         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
19384         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
19385         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
19386         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
19387         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
19388         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
19389         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
19390         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
19391         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
19392         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
19393         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
19394         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
19395         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
19396         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
19397         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
19398         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
19399         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
19400         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
19401         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
19402         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
19403         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
19404         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
19405         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
19406         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
19407         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
19408         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
19409         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
19410         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
19411         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
19412         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
19413         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
19414         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
19415         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
19416         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
19417         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
19418         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
19419         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
19420         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
19421         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
19422         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
19423         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
19424         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
19425         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
19426         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
19427         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
19428         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
19429         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
19430         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
19431         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
19432         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
19433         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
19434         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
19435         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
19436         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
19437         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
19438         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
19439         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
19440         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
19441         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
19442         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
19443         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
19444         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
19445         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
19446         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
19447         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
19448         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
19449         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
19450         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
19451         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
19452         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
19453         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
19454         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
19455         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
19456         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
19457         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
19458         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
19459         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
19460         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
19461         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
19462         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
19463         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
19464         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
19465         lib/yesno.c, lib/yesno.h:
19466         Update FSF postal mail address.
19467
19468 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
19469
19470         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
19471         tests/test-memmem.c, tests/test-stpncpy.c:
19472         Update FSF postal mail address.
19473
19474 2005-05-13  Bruno Haible  <bruno@clisp.org>
19475
19476         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
19477         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
19478         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
19479         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
19480         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
19481         Add support for 64-bit integers in the MSVC compiler.
19482
19483 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
19484
19485         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
19486
19487 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
19488
19489         * gnulib-tool (func_import): Sort and uniquify recommended includes.
19490
19491 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
19492
19493         * doc/getdate.texi (General date syntax): Don't say that date
19494         date --iso-8601=ns generates acceptable dates; it doesn't yet.
19495         Problem reported by Nic Ferrier.
19496
19497 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19498
19499         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
19500         specified in ai_socktype. Fix invalid ai_protocol
19501         check. ai_protocol is usually set to 0 or depending on
19502         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
19503         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
19504         ai_socktype / ai_protocol in the returned addrinfo structure.
19505
19506 2005-05-10  Simon Josefsson  <jas@extundo.com>
19507
19508         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
19509         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
19510
19511 2005-05-10  Karl Berry  <karl@gnu.org>
19512
19513         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
19514         (from http://www.gnu.org/licenses).
19515         * doc/COPYING.LIB: also rename to COPYING.LESSER.
19516         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
19517         fdl.texi suffices.
19518
19519 2005-05-10  Karl Berry  <karl@gnu.org>
19520
19521         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
19522         (COPYING.DOC): remove.
19523
19524         * config/srclist-update: new FSF address.
19525
19526 2005-05-10  Derek Price  <derek@ximbiot.com>
19527
19528         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
19529         possible.
19530
19531 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19532             Bruno Haible  <bruno@clisp.org>
19533
19534         * modules/inet_ntop: New file.
19535         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
19536         inet_ntop.
19537
19538 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19539             Bruno Haible  <bruno@clisp.org>
19540
19541         * m4/inet_ntop.m4: New file.
19542
19543 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
19544             Bruno Haible  <bruno@clisp.org>
19545
19546         * lib/inet_ntop.h: New file.
19547         * lib/inet_ntop.c: New file, from glibc with modifications.
19548
19549 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
19550
19551         * modules/time_r (License): Change to LGPL.
19552         * modules/extensions (License): Change to LGPL.  Actually,
19553         the license is more permissive than that, but currently gnulib-tool
19554         doesn't know how to handle more-permissive licenses.
19555
19556         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
19557         Problem reported by Dave Love.
19558
19559 2005-05-08  Jim Meyering  <jim@meyering.net>
19560
19561         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
19562         blank.
19563
19564 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
19565
19566         * modules/argmatch (Depends-on): Add stdbool.
19567         * modules/backupfile (Depends-on): Likewise.
19568         * modules/chdir-long (Depends-on): Likewise.
19569         * modules/closeout (Depends-on): Likewise.
19570         * modules/cycle-check (Depends-on): Likewise.
19571         * modules/dirname (Depends-on): Likewise.
19572         * modules/fnmatch (Depends-on): Likewise.
19573         * modules/fsusage (Depends-on): Likewise.
19574         * modules/fwriteerror (Depends-on): Likewise.
19575         * modules/getcwd (Depends-on): Likewise.
19576         * modules/getloadavg (Depends-on): Likewise.
19577         * modules/hard-locale (Depends-on): Likewise.
19578         * modules/makepath (Depends-on): Likewise.
19579         * modules/mountlist (Depends-on): Likewise.
19580         * modules/nanosleep (Depends-on): Likewise.
19581         * modules/posixtm (Depends-on): Likewise.
19582         * modules/quotearg (Depends-on): Likewise.
19583         * modules/readtokens (Depends-on): Likewise.
19584         * modules/readtokens0 (Depends-on): Likewise.
19585         * modules/readutmp (Depends-on): Likewise.
19586         * modules/save-cwd (Depends-on): Likewise.
19587         * modules/strftime (Depends-on): Likewise.
19588         * modules/userspec (Depends-on): Likewise.
19589         * modules/utimecmp (Depends-on): Likewise.
19590         * modules/xgetcwd (Depends-on): Likewise.
19591         * modules/xnanosleep (Depends-on): Likewise.
19592         * modules/xstrtod (Depends-on): Likewise.
19593         * modules/yesno (Depends-on): Likewise.
19594
19595 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19596
19597         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
19598         needless checks.
19599
19600 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
19601
19602         Merge from coreutils.  Among other things,
19603         add bulletproofing for cases where stdin, stdout, or stderr are closed.
19604         * lib/fd-safer.c: New file.
19605         * lib/fcntl-safer.h, open-safer.c: Remove.
19606         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
19607         * lib/dup-safer.c: Include unistd-safer.h first.
19608         Don't include errno.h.
19609         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
19610         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
19611         * lib/file-type.c: Rely on file-type.h change.
19612         * lib/getloadavg.c: Include unistd-safer.h.
19613         (getloadavg): Use safer open.
19614         * lib/getusershell.c: Include "stdio-safer.h".
19615         (getusershell): Use safer fopen.
19616         * lib/long-options.c (long_options): Use NULL rather than 0.
19617         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
19618         'free'.
19619         * lib/modechange.c: Likewise.
19620         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
19621         (MODE_DONE): New constant.
19622         (struct mode_change): Remove 'next' member.
19623         (make_node_op_equals): New function; like the old one of the
19624         same name, except it allocates an array.
19625         (mode_compile, mode_create_from_ref): Use it.
19626         (mode_compile): Allocate result as an array, not a linked list.
19627         Parse octal string ourself, so that we catch mistakes like "+0".
19628         (mode_adjust): Arg is an array, not a linked list.
19629         * lib/modechange.c: Include stat-macros.h, xalloc.h.
19630         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
19631         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
19632         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
19633         Remove.  This is now stat-macros.h's job.
19634         (talloc): Remove.  All callers replaced by xalloc, so that
19635         our invokers don't have to worry about reporting memory failures.
19636         (make_node_op_equals): Remove.
19637         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
19638         New constants.
19639         (struct mode_change): Moved here from modechange.h.
19640         (mode_append_entry): Remove.
19641         (mode_compile): Remove MASKED_OPS arg, since it encouraged
19642         apps to have incorrect behavior.  Use simpler algorithm for head
19643         and tail.  Don't futz with umask; that's now the job of mode_adjust.
19644         Detect more invalid usages rather than having somewhat-random behavior.
19645         Don't insert an "a=" action, as that leads to incorrect behavior.
19646         (mode_compile, mode_create_from_ref): Return NULL on error instead
19647         of an enum, since now there's only one way to have an error.  All
19648         callers changed.
19649         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
19650         at the correct time.  Simplify calculation of "+u" and its ilk.
19651         Don't mishandle "+X".
19652         (mode_free): Remove "register" and localize decls.
19653         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
19654         (struct mode_change): Move to modechange.c; callers don't
19655         need to see this stuff.
19656         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
19657         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
19658         (mode_change, mode_adjust): Reflect the new signatures noted above.
19659         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
19660         that might redefine system include files.
19661         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
19662         (my_usleep): Use NULL rather than (void *) 0.
19663         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
19664         Use siginterrupt to specify that system calls should be interrupted.
19665         (rpl_nanosleep): Move initialization of suspended closer to call of
19666         my_usleep.
19667         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
19668         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
19669         (desirable_utmp_entry): New function.
19670         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
19671         using x2nrealloc, to simplify logic.
19672         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
19673         size calculation.  Do not assume utmp file is a regular file.
19674         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
19675         (READ_UTMP_CHECK_PIDS): New constant.
19676         * lib/save-cwd.c: Include unistd-safer.h.
19677         (save_cwd): Use fd_safer.
19678         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
19679         [!_LIBC] Include "stat-macros.h" instead.
19680         * lib/unistd-safer.h (fd_safer): New decl.
19681
19682 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
19683
19684         * modules/getloadavg (Depends-on): Add unistd-safer.
19685         * modules/getusershell (Depends-on): Add stdio-safer.
19686         * modules/lstat (Depends-on): Remove xalloc.
19687         * modules/mkstemp (Depends-on): Add stat-macros.
19688         * modules/modechange (Depends-on): Remove xstrtol.
19689         Add stat-macros, xalloc.
19690         * modules/save-cwd (Depends-on): Add unistd-safer.
19691         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
19692         * modules/unistd-safer (Files): Add lib/fd-safer.c
19693         (Makefile.am): Remove lib_SOURCES.
19694
19695         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
19696         Remove fcntl-safer; unistd-safer supersedes it.
19697
19698 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
19699
19700         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
19701         AC_HEADER_STAT.
19702         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
19703         (gl_PREREQ_CHOWN): Remove.
19704         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
19705         it.  Don't require AC_HEADER_STAT.
19706         (gl_PREREQ_LSTAT): Remove.
19707         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
19708         Don't require AC_HEADER_STAT.
19709         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
19710         (gl_PREREQ_RMDIR): Remove.
19711         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
19712         mention stat-macros.h or AC_HEADER_STAT, since we'll make
19713         the stat-macros module a prerequisite.
19714         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
19715         * m4/filemode.m4 (gl_FILEMODE): Likewise.
19716         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
19717         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
19718         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
19719         variable names.
19720         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
19721         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
19722         variable prefixes.
19723         * m4/fcntl-safer.m4: Remove.
19724         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
19725         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
19726         Invoke gl_PREREQ_FD_SAFER.
19727         (gl_PREREQ_FD_SAFER): New macro.
19728         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
19729         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
19730         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
19731         Remove duplicate call to AC_LIBOBJ(readutmp).
19732         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
19733
19734         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
19735         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
19736
19737 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
19738
19739         * MODULES.html.sh (Misc): Add byteswap.
19740
19741 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
19742
19743         * modules/getcwd (Depends-on): Add extensions.
19744         * modules/openat (Depends-on): Likewise.
19745
19746 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
19747
19748         * modules/byteswap: New file.
19749
19750 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
19751
19752         * m4/byteswap.m4: New file.
19753
19754 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
19755
19756         * lib/byteswap_.h: New file.
19757
19758 2005-04-25  Karl Berry  <karl@gnu.org>
19759
19760         * m4/gettext.m4: Update from GNU gettext 0.14.4.
19761
19762 2005-04-25  Albert Chin  <china@thewrittenword.com>
19763
19764         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
19765         Toolkit C bug.
19766
19767 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
19768
19769         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
19770         (func_ln_if_changed) Remove forcibly for no error message
19771         in case file does not exist.
19772
19773 2005-04-19  Simon Josefsson  <jas@extundo.com>
19774
19775         * gnulib-tool (Options): Make --symlink mean --symbolic.
19776
19777 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
19778
19779         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
19780
19781 2005-04-16  Simon Josefsson  <jas@extundo.com>
19782
19783         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
19784
19785 2005-04-15  Simon Josefsson  <jas@extundo.com>
19786
19787         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
19788
19789 2005-04-15  Simon Josefsson  <jas@extundo.com>
19790
19791         * gnulib-tool: Rename --symlink to --symbolic.
19792
19793 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
19794
19795         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
19796         symbolic links to files instead of copying/moving.  Add --aux-dir,
19797         specifying directory relative --dir where auxiliary build tools
19798         are placed.
19799
19800 2005-04-14  Bruno Haible  <bruno@clisp.org>
19801
19802         * modules/allocsa (License): Change to LGPL.
19803         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
19804
19805 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
19806
19807         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
19808         that "UTC +1 second" continues to work.  Problem reported
19809         by Dmitry V. Levin.
19810         (relunit_snumber): New rule.
19811         (relunit): Use it.
19812
19813 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
19814
19815         * lib/getdate.y (universal_time_zone_table): New constant.
19816         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
19817         universal_time_zone_table.
19818         (lookup_zone): Prefer universal_time_zone_table to
19819         local_time_zone_table, so that "GMT" time stamps are allowed in
19820         London during the summer.  Problem reported by Ian Abbott.
19821
19822 2005-04-12  Jim Meyering  <jim@meyering.net>
19823
19824         * lib/human.c (humblock): Set *options even when returning due to
19825         xstrtoumax conversion failure.  Thanks to a used-uninitialized
19826         warning from gcc-4.
19827
19828 2005-04-09  Jim Meyering  <jim@meyering.net>
19829
19830         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
19831         -Wuninitialized: initialize tm0.tm_year.
19832
19833 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
19834
19835         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
19836         count, since there's no maximum.  All uses changed.
19837         Add member dsts_seen.
19838         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
19839         not being INT_MAX.
19840         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
19841         Use pc_rels_seen to decide whther a date is absolute.
19842
19843         * lib/getdate.y (number): Don't overwrite year.
19844         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
19845         check.
19846
19847 2005-04-02  Simon Josefsson  <jas@extundo.com>
19848
19849         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
19850         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
19851
19852 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
19853
19854         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
19855         where no absolute path name can be longer than PATH_MAX.
19856
19857 2005-03-27  Jim Meyering  <jim@meyering.net>
19858
19859         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
19860
19861 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
19862
19863         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
19864         "one's complement" -> "ones' complement" in comment, as per Knuth.
19865         "value of type" -> "type or expression" in comment.
19866         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
19867
19868 2005-03-26  Jim Meyering  <jim@meyering.net>
19869
19870         Comment nits.
19871         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
19872         Correct typos: s/or/of/.
19873
19874 2005-03-26  Jim Meyering  <jim@meyering.net>
19875
19876         * modules/check-include-files: Move to ../ and rename to...
19877         * check-module: ...this.
19878
19879 2005-03-25  Jim Meyering  <jim@meyering.net>
19880
19881         * modules/xvasprintf (Files): Add xalloc.h.
19882
19883 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
19884
19885         * modules/gettext (Files): config/config.rpath ->
19886         build-aux/config.rpath
19887         * modules/iconv (Files): Likewise.
19888         Problem reported by Oskar Liljeblad.
19889
19890 2005-03-23  Jim Meyering  <jim@meyering.net>
19891
19892         * modules/check-include-files: New script to check for
19893         missing dependencies, multiple includes, etc.
19894
19895         * modules/c-strtold (Depends-on): Add xalloc.
19896         * modules/c-strtod (Depends-on): Add xalloc.
19897         * modules/hash (Depends-on): Add xalloc.
19898         (Files): Remove lib/xalloc.h.
19899
19900         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
19901         * modules/userspec (Files): Add lib/inttostr.h.
19902
19903 2005-03-23  Jim Meyering  <jim@meyering.net>
19904
19905         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
19906
19907 2005-03-22  Jim Meyering  <jim@meyering.net>
19908
19909         * modules/stat-macros: New module.
19910         * modules/canonicalize, modules/euidaccess, modules/file-type,
19911         * modules/filemode, modules/lchown, modules/makepath,
19912         * modules/rmdir, modules/stat: Depend on new stat-macros module
19913         rather than listing lib/stat-macros.h manually.
19914         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
19915
19916 2005-03-22  Jim Meyering  <jim@meyering.net>
19917
19918         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
19919
19920 2005-03-22  Bruno Haible  <bruno@clisp.org>
19921
19922         * config/srclist.txt: Replace target directory 'config' with
19923         'build-aux'.
19924         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
19925         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
19926         ../build-aux/.
19927
19928 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
19929
19930         * modules/chdir-long (Depends-on): Add mempcpy.
19931
19932         * modules/acl, modules/backupfile, modules/c-strtod,
19933         modules/c-strtold, modules/canon-host, modules/canonicalize,
19934         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
19935         modules/exclude, modules/exitfail, modules/file-type,
19936         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
19937         modules/getdate, modules/getline, modules/getpagesize,
19938         modules/getpass, modules/getugroups, modules/group-member,
19939         modules/hard-locale, modules/hash, modules/human, modules/idcache,
19940         modules/inttostr, modules/long-options, modules/makepath,
19941         modules/md5, modules/memcasecmp, modules/memcoll,
19942         modules/modechange, modules/mountlist, modules/path-concat,
19943         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
19944         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
19945         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
19946         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
19947         modules/strftime, modules/strndup, modules/strverscmp,
19948         modules/timespec, modules/unlocked-io, modules/userspec,
19949         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
19950         modules/yesno:
19951         Remove lib_SOURCES line from Makefile.am section, as this is now
19952         done automatically by the corresponding Autoconf macro.
19953
19954 2005-03-21  Jim Meyering  <jim@meyering.net>
19955
19956         Changes imported from coreutils.
19957
19958         * lib/cycle-check.c: Don't include xalloc.h.
19959
19960         * lib/path-concat.c: Don't include assert.h.
19961         (path_concat): Remove assertion that would have triggered
19962         for ABASE starting with more than one slash.
19963         Reported by Andreas Schwab.
19964
19965         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
19966         properly when ABASE is an absolute file name.
19967         Correct the description of this function.
19968         Include <assert.h>.
19969         Add an assertion and a test driver.
19970         This fixes a bug introduced on 2004-07-02.
19971         Andreas Schwab reported the resulting failure of cp --parents:
19972         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
19973
19974 2005-03-21  Jim Meyering  <jim@meyering.net>
19975
19976         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
19977         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
19978
19979 2005-03-21  Jim Meyering  <jim@meyering.net>
19980         and  Paul Eggert  <eggert@cs.ucla.edu>
19981
19982         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
19983         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
19984         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
19985         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
19986         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
19987         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
19988         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
19989         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
19990         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
19991         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
19992         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
19993         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
19994         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
19995         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
19996         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
19997         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
19998         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
19999         for these modules.
20000
20001 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
20002
20003         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
20004         (which shouldn't happen), generate nothing instead of returning 0
20005         immediately, so that nstrftime (NULL, ...) doesn't return 0.
20006
20007 2005-03-16  Bruno Haible  <bruno@clisp.org>
20008
20009         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
20010         HAVE_LONGLONG_64BIT.
20011
20012 2005-03-16  Bruno Haible  <bruno@clisp.org>
20013
20014         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
20015         HAVE_LONGLONG_64BIT.
20016
20017 2005-03-16  Bruno Haible  <bruno@clisp.org>
20018
20019         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
20020         HAVE_LONGLONG_64BIT.
20021
20022 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
20023
20024         * lib/strftime.c (my_strftime): Prepend space to format so that we can
20025         reliably distinguish strftime failure from empty output on POSIX
20026         hosts.
20027
20028 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
20029
20030         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
20031         (iconv_string): Don't guess a size-zero buffer, as that might cause
20032         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
20033         result would be 'too large', where 'too large' is (heuristically)
20034         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
20035         overflow concerns.  This will prevent some unwanted malloc failures
20036         when the inputs are very large.
20037
20038 2005-03-15  Karl Berry  <karl@gnu.org>
20039
20040         * config/srclist.txt (config.rpath): from gettext.
20041         * config/config.rpath: update.
20042
20043 2005-03-15  Bruno Haible  <bruno@clisp.org>
20044
20045         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
20046         to 'negate'.
20047
20048         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
20049         variable.
20050
20051         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
20052         results.
20053
20054 2005-03-14  Simon Josefsson  <jas@extundo.com>
20055
20056         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
20057         <fx@gnu.org>.
20058
20059 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
20060
20061         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
20062         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
20063         intprops.h.
20064         * lib/strtol.c: Likewise.
20065
20066 2005-03-14  Jim Meyering  <jim@meyering.net>
20067
20068         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
20069         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
20070         to be nonzero so that we (and caller) can detect the difference
20071         between a valid zero-length expansion and an error return, even
20072         when the underlying strftime fails before writing anything into
20073         that location.
20074
20075 2005-03-14  Bruno Haible  <bruno@clisp.org>
20076
20077         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
20078         Update from GNU gettext 0.14.3.
20079
20080 2005-03-10  Jim Meyering  <jim@meyering.net>
20081
20082         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
20083
20084 2005-03-10  Jim Meyering  <jim@meyering.net>
20085
20086         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
20087         so that this module works on systems without fchdir.
20088
20089 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
20090
20091         Factor int-properties macros into a single file, except for
20092         glibc-related files.
20093         * lib/intprops.h: New file.
20094         * lib/getloadavg.c: Include it instead of limits.h.
20095         (INT_STRLEN_BOUND): Remove.
20096         * lib/human.c: Include intprops.h.
20097         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
20098         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
20099         302/1000.
20100         * lib/inttostr.h: Include intprops.h instead of limits.h.
20101         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
20102         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
20103         for consistency with intprops.h.
20104         (time_t_is_integer, twos_complement_arithmetic): Use them.
20105         * lib/sig2str.h: Include <signal.h>, intprops.h.
20106         (INT_STRLEN_BOUND): Remove.
20107         * lib/strftime.c (TYPE_SIGNED): Remove.
20108         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
20109         * lib/strtol.c: Adjust comments to match intprops.h.
20110         * lib/userspec.c: Include intprops.h.
20111         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
20112         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
20113         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
20114         instead of rolling our own expressions.
20115         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
20116
20117         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
20118         instead of int.
20119         (my_strftime): Do not mishandle years close to INT_MAX, by doing
20120         the right thing even if adding 1900 would overflow.  Similarly
20121         for tm_mon + 1 and tm_yday + 1.
20122         Make %Y always equivalent to %C%y, and similarly for %G and %g.
20123         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
20124         (DO_SIGNED_NUMBER): New macro.
20125         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
20126
20127 2005-03-07  Bruno Haible  <bruno@clisp.org>
20128
20129         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
20130
20131 2005-03-07  Bruno Haible  <bruno@clisp.org>
20132
20133         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
20134
20135 2005-03-04  Derek R. Price  <derek@ximbiot.com>
20136
20137         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
20138         (func_import): Only replace files via --import when they have actually
20139         changed.
20140
20141 2005-03-03  Derek R. Price  <derek@ximbiot.com>
20142
20143         * m4/mmap-anon.m4: New file.
20144         * m4/pagealign_alloc.m4: New file.
20145
20146 2005-03-03  Derek R. Price  <derek@ximbiot.com>
20147             Bruno Haible  <bruno@clisp.org>
20148
20149         * modules/pagealign_alloc: New file.
20150         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
20151
20152 2005-03-03  Derek R. Price  <derek@ximbiot.com>
20153             Bruno Haible  <bruno@clisp.org>
20154
20155         * lib/pagealign_alloc.h: New file.
20156         * lib/pagealign_alloc.c: New file.
20157
20158 2005-03-03  Bruno Haible  <bruno@clisp.org>
20159
20160         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
20161         Use an all-permissive copyright notice, recommended by RMS.
20162
20163 2005-03-02  Bruno Haible  <bruno@clisp.org>
20164
20165         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
20166         of AIX, the replacement has to be done only after <string.h> is
20167         included, therefore not in config.h. stpncpy.h does the replacement,
20168         and stpncpy.c uses it.
20169
20170 2005-03-02  Bruno Haible  <bruno@clisp.org>
20171
20172         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
20173         stpncpy.c uses it.
20174
20175 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
20176
20177         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
20178         The workaround isn't strictly needed for POSIX conformance, and
20179         it's too much of a pain to configure and maintain.  We'll ask
20180         people to fix their kernels instead.
20181         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
20182         (NANOSLEEP_BUG_WORKAROUND): Remove.
20183         (xnanosleep): Remove the workaround.
20184
20185 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
20186
20187         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
20188         Reported by Derek Price.
20189         (Include): Add "timespec.h".
20190
20191         * modules/xnanosleep (Depends-on): Remove gethrxtime.
20192
20193 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
20194
20195         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
20196         to detect nanosleep bug.
20197
20198 2005-03-01  Bruno Haible  <bruno@clisp.org>
20199
20200         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
20201
20202 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
20203
20204         * modules/gethrxtime: New file.
20205         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
20206         (Depends-on): Add gethrxtime.
20207         (configure.ac): Add gl_XNANOSLEEP.
20208         (Makefile.am): Remove lib_SOURCES line.
20209
20210 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
20211
20212         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
20213         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
20214
20215 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
20216
20217         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
20218         * lib/timespec.h (gettime): Return void, since it always
20219         succeeds now.  All uses changed.
20220         * lib/gettime.c (gettime) Likewise.
20221         [HAVE_NANOTIME]: Prefer nanotime.
20222         Assume gettimeofday succeeds, as POSIX requires.
20223         Assime time () succeeds, since other code already does.
20224         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
20225         (timespec_subtract): Remove.
20226         (NANOSLEEP_BUG_WORKAROUND): New constant.
20227         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
20228         things considerably.  Use it only on GNU/Linux hosts, since the
20229         workaround shouldn't be needed elsewhere.
20230
20231 2005-02-24  Bruno Haible  <bruno@clisp.org>
20232
20233         * modules/gettext (Files): Add m4/glibc2.m4.
20234
20235 2005-02-24  Bruno Haible  <bruno@clisp.org>
20236
20237         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
20238         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
20239         * m4/progtest.m4:
20240         Update from GNU gettext 0.14.2.
20241         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
20242
20243 2005-02-24  Bruno Haible  <bruno@clisp.org>
20244
20245         * lib/localcharset.c: Update from GNU gettext 0.14.2.
20246         * lib/config.charset: Update from GNU gettext 0.14.2.
20247
20248 2005-02-24  Bruno Haible  <bruno@clisp.org>
20249
20250         * lib/gettext.h: Update from GNU gettext 0.14.2.
20251
20252 2005-02-23  Simon Josefsson  <jas@extundo.com>
20253
20254         * m4/iconvme.m4: New file.
20255
20256 2005-02-23  Jim Meyering  <jim@meyering.net>
20257
20258         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
20259         change.
20260         Thanks to Bruno Haible for catching it.
20261
20262 2005-02-22  Simon Josefsson  <jas@extundo.com>
20263
20264         * modules/iconvme: New file.
20265
20266         * MODULES.html.sh: Add iconvme.
20267
20268 2005-02-22  Simon Josefsson  <jas@extundo.com>
20269
20270         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
20271
20272 2005-02-22  Simon Josefsson  <jas@extundo.com>
20273
20274         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
20275
20276 2005-02-22  Jim Meyering  <jim@meyering.net>
20277
20278         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
20279         s/ifndef/ifdef/.
20280
20281 2005-02-20  Neil Conway  <neilc@samurai.com>
20282
20283         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
20284         returned by OSX/Darwin if the specified buffer is not large
20285         enough for the hostname.
20286
20287 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20288
20289         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
20290         pass it to _help, otherwise the latter coredumps trying to
20291         dereference state.root_argp.
20292
20293 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
20294
20295         * modules/chdir-long (Depends-on): Add memrchr.
20296         * modules/memrchr (Files): Add lib/memrchr.h.
20297         (Include): "memrchr.h".
20298
20299 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
20300
20301         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
20302
20303 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
20304
20305         * lib/memrchr.h: New file.
20306         * lib/chdir-long.c: Include it.
20307         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
20308         Don't bother including stddef.h.
20309
20310 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
20311
20312         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
20313         inclusion.
20314         Include <sys/types.h>, for dev_t.
20315         (ME_DUMMY, ME_REMOTE): Move from here....
20316         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
20317         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
20318         Dmitry V. Levin.
20319         Include mountlist.h first, to test the interface.
20320
20321 2005-01-29  Bruno Haible  <bruno@clisp.org>
20322
20323         * lib/progname.c (program_name): Initialize.
20324         Needed when linking statically on MacOS X.
20325
20326 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
20327
20328         Sync from coreutils.
20329         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
20330         (Depends-on): Add c-strtod.
20331         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
20332
20333 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
20334
20335         Sync from coreutils.
20336         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
20337
20338         Remove files that are specific to coreutils.
20339         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
20340
20341 2005-01-28  Bruno Haible  <bruno@clisp.org>
20342
20343         * modules/javacomp: New file.
20344         * MODULES.html.sh (Java): Add javacomp.
20345
20346 2005-01-28  Bruno Haible  <bruno@clisp.org>
20347
20348         * m4/javacomp.m4: New file, from GNU gettext.
20349
20350 2005-01-28  Bruno Haible  <bruno@clisp.org>
20351
20352         * lib/javacomp.sh.in: New file, from GNU gettext.
20353         * lib/javacomp.h: New file, from GNU gettext.
20354         * lib/javacomp.c: New file, from GNU gettext.
20355
20356 2005-01-26  Simon Josefsson  <jas@extundo.com>
20357
20358         * lib/gai_strerror.c: Use GPL in header.
20359
20360 2005-01-26  Bruno Haible  <bruno@clisp.org>
20361
20362         * modules/javaexec: New file.
20363         * MODULES.html.sh (Java): Add javaexec.
20364
20365 2005-01-26  Bruno Haible  <bruno@clisp.org>
20366
20367         * m4/javaexec.m4: New file, from GNU gettext.
20368
20369 2005-01-26  Bruno Haible  <bruno@clisp.org>
20370
20371         * lib/javaexec.sh.in: New file, from GNU gettext.
20372         * lib/javaexec.h: New file, from GNU gettext.
20373         * lib/javaexec.c: New file, from GNU gettext.
20374
20375 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20376
20377         * modules/lchown (Depends-on): Remove lchown.h
20378
20379 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20380
20381         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
20382         must be defined if the header file was not found, in order
20383         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
20384
20385 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20386
20387         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
20388         initializers for struct pentry_state.
20389         (__argp_error): Check return value of __asprintf
20390         (__argp_failure): Translate error message
20391
20392         * lib/argp-parse.c: Removed braces around the expansion of N_()
20393
20394 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20395
20396         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
20397         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
20398         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
20399         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
20400         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
20401         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
20402         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
20403         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
20404         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
20405         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
20406         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
20407         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
20408         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
20409         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
20410         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
20411         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
20412         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
20413         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
20414         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
20415         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
20416         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
20417         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
20418         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
20419         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
20420         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
20421         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
20422         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
20423         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
20424         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
20425         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
20426         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
20427         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
20428         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
20429         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
20430         xstrtol.m4, xstrtoumax.m4, yesno.m4:
20431         Use an all-permissive copyright notice, recommended by RMS.
20432
20433 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
20434
20435         * modules/chdir-long (Depends-on): Remove mempcpy.
20436
20437 2005-01-21  Jim Meyering  <jim@meyering.net>
20438
20439         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
20440         same value as for Solaris 9.
20441
20442         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
20443         component length.  This included changing the parameter to be
20444         of type `char *' rather than `char const *'.
20445         * lib/chdir-long.h (chdir_long): Update prototype.
20446
20447         * lib/openat.c (fdopendir, fstatat): New functions.
20448         * lib/openat.h: Include headers required for use of DIR and struct
20449         stat.
20450         [AT_SYMLINK_NOFOLLOW]: Define.
20451         (fdopendir, fstatat): Add prototypes.
20452
20453 2005-01-21  Bruno Haible  <bruno@clisp.org>
20454
20455         * modules/classpath: New file.
20456         * MODULES.html.sh (Java): Add classpath.
20457
20458 2005-01-21  Bruno Haible  <bruno@clisp.org>
20459
20460         * lib/classpath.h: New file, from GNU gettext.
20461         * lib/classpath.c: New file, from GNU gettext.
20462
20463 2005-01-20  Simon Josefsson  <jas@extundo.com>
20464
20465         * modules/version-etc-fsf: New file.
20466
20467 2005-01-20  Simon Josefsson  <jas@extundo.com>
20468
20469         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
20470         * lib/version-etc.c: Remove version_etc_copyright.
20471         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
20472         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
20473
20474 2005-01-20  Simon Josefsson  <jas@extundo.com>
20475
20476         * lib/base64.h (isbase64): Add.
20477
20478         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
20479         using a unsigned prototype, don't inline.
20480         (base64_decode): Use it.
20481
20482 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
20483
20484         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
20485         it.
20486
20487 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
20488
20489         * lib/save-cwd.c (save_cwd): Remove code to support the case
20490         where fchdir is missing or flaky.
20491
20492 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
20493
20494         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
20495
20496 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
20497
20498         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
20499         AC_LIBSOURCES now does this.
20500         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
20501         with new ullong_max module.
20502
20503 2005-01-19  Bruno Haible  <bruno@clisp.org>
20504
20505         * modules/sh-quote: New file.
20506         * MODULES.html.sh (Executing programs): Add sh-quote.
20507
20508 2005-01-19  Bruno Haible  <bruno@clisp.org>
20509
20510         * lib/sh-quote.h: New file, from GNU gettext.
20511         * lib/sh-quote.c: New file, from GNU gettext.
20512
20513 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
20514
20515         Merge from coreutils.
20516         * m4/ullong_max.m4: New file.
20517         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
20518         (gl_MACROS): Assume localeconv exists.
20519
20520 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
20521
20522         Merge changes from coreutils, as described below in several
20523         changelogs dated today.
20524
20525         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
20526         (O_DIRECTORY): Remove; not needed here, since "." must be
20527         a directory.  All uses removed.
20528         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
20529         universal on Suns, and we also need to test for IRIX.
20530         Revamp code to use 'if' rather than '#if'.
20531         Avoid unnecessary comparison of cwd->desc to 0.
20532
20533         * lib/utimens.c (futimens): Robustify the previous patch, by checking
20534         for known valid error numbers rather than observed invalid ones.
20535
20536 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
20537
20538         * modules/ullong_max: New file.
20539
20540         * modules/chdir-long, modules/openat: New files.
20541         * modules/save-cwd (Depends-on): Depend on chdir-long.
20542         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
20543
20544 2005-01-18  Jim Meyering  <jim@meyering.net>
20545
20546         Merge from coreutils.
20547         * m4/chdir-long.m4, m4/openat.m4: New files.
20548         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
20549         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
20550         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
20551         is sane and DOES follow symlinks.  Besides, testing 20 different
20552         systems found no broken chown implementations.
20553         Prompted by a change in rsync's copy of this macro.
20554         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
20555
20556         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
20557
20558         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
20559         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
20560         NULL-means-set-to-current-time semantics.
20561         Remove temporary file immediately, rather than waiting
20562         for configure's at-exit trap code to do it.
20563
20564 2005-01-18  Jim Meyering  <jim@meyering.net>
20565
20566         * lib/version-etc.c (version_etc_copyright): Update copyright date.
20567
20568         * lib/utimens.c (futimens): Account for the fact that futimes
20569         can also fail with errno == ENOSYS or errno == ENOENT.
20570         Patch from Dmitry V. Levin.
20571
20572         Change the name of the robust chdir function from chdir to chdir_long.
20573         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
20574         (restore_cwd): Use chdir_long, not chdir.
20575         * lib/chdir-long.c: Renamed from chdir.c.
20576         * lib/chdir-long.h: Renamed from chdir.h.
20577         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
20578         Hurd.
20579
20580 2005-01-18  Bruno Haible  <bruno@clisp.org>
20581
20582         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
20583         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
20584         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
20585         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
20586         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
20587         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
20588         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
20589         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
20590         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
20591         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
20592         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
20593         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
20594         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
20595         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
20596         Use an all-permissive copyright notice, recommended by RMS.
20597
20598 2005-01-18  Bob Proulx  <bob@proulx.com>
20599
20600         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
20601         simplify offsetof() macro construct to avoid compile failure with
20602         native HP-UX 11.0 ANSI C compiler.
20603
20604 2005-01-17  Bruno Haible  <bruno@clisp.org>
20605
20606         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
20607         redundant because stpncpy.m4 takes care of it.
20608
20609 2005-01-17  Bruno Haible  <bruno@clisp.org>
20610
20611         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
20612
20613 2005-01-17  Bruno Haible  <bruno@clisp.org>
20614
20615         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
20616         used.
20617
20618 2005-01-17  Bruno Haible  <bruno@clisp.org>
20619
20620         * lib/fwriteerror.h (fwriteerror): Change specification to include
20621         fclose.
20622         * lib/fwriteerror.c: Include <stdbool.h>.
20623         (fwriteerror): At the end, close the file stream. Record whether
20624         stdout was already closed.
20625
20626 2005-01-17  Bruno Haible  <bruno@clisp.org>
20627
20628         * lib/execute.c (environ): Declare if needed.
20629         * lib/pipe.c (environ): Likewise.
20630         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
20631
20632 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20633
20634         * modules/argp: Depend on vsnprintf
20635
20636 2005-01-10  Jim Meyering  <jim@meyering.net>
20637
20638         * modules/closeout (Depends-on): Add atexit.
20639
20640 2005-01-06  Bruno Haible  <bruno@clisp.org>
20641
20642         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
20643
20644 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
20645
20646         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
20647         definitions to be after all include files, to avoid collisions.
20648         Problem reported by Bob Proulx.
20649
20650 2005-01-04  Jim Meyering  <jim@meyering.net>
20651
20652         Changes imported from coreutils.
20653         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
20654         as the mkstemp template, use a temporary directory and an
20655         8.3-friendly template to avoid trouble on systems like DJGPP.
20656         Reported by Juan M. Guerrero via Stepan Kasal.
20657         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
20658         close. Remove the temporary directory right away, rather than waiting
20659         for configure's at-exit trap code to do it.
20660         Suggestion from Stepan Kasal.
20661
20662 2005-01-01  Simon Josefsson  <jas@extundo.com>
20663
20664         * gnulib-tool: Print #include directives when --import'ing.
20665
20666 2004-12-28  Simon Josefsson  <jas@extundo.com>
20667
20668         * tests/test-base64.c: Include required header files.  Remove
20669         unused variables.
20670
20671 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
20672
20673         * modules/error (Depends-on): Remove gettext.
20674
20675 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
20676
20677         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
20678         not needed.  This removes a dependency on the gettext module.
20679         [defined _LIBC]: Do not include <libintl.h>; not needed.
20680
20681 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
20682
20683         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
20684         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
20685
20686 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
20687
20688         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
20689         HAVE_DECL_STRTOLD.
20690
20691 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
20692
20693         * modules/getdate (Depends-on): Remove alloca-opt.
20694
20695 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
20696
20697         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
20698
20699 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
20700
20701         * lib/argp-parse.c: Include <stddef.h>.
20702         (alignof, alignto): New macros.
20703         (parser_init): Don't assume that void * is aligned sufficiently
20704         for struct option.
20705
20706         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
20707         need to extend the stack.
20708         (YYINITDEPTH): New macro, so that the initial stack isn't overly
20709         large.
20710
20711 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20712
20713         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
20714
20715 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
20716
20717         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
20718         (2004-10-24) change.  Apparently this was a false alarm.
20719
20720         * modules/getdate: Depend on alloca-opt, not alloca.
20721
20722 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
20723
20724         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
20725         Remove now-obsolete comment about AIX.
20726         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
20727         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
20728         (YYMAXDEPTH): New macro.
20729
20730 2004-12-18  Simon Josefsson  <jas@extundo.com>
20731
20732         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
20733
20734 2004-12-18  Bruno Haible  <bruno@clisp.org>
20735
20736         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
20737
20738 2004-12-18  Bruno Haible  <bruno@clisp.org>
20739
20740         * lib/fatal-signal.c (fatal_signals): Make non-const.
20741         (init_fatal_signals): New function.
20742         (uninstall_handlers, install_handlers): Ignore signals that were set to
20743         SIG_IGN.
20744         (at_fatal_signal): Call init_fatal_signals.
20745         (init_fatal_signal_set): Likewise. Ignore signals that were set to
20746         SIG_IGN.
20747         Reported by Paul Eggert.
20748
20749 2004-12-18  Bruno Haible  <bruno@clisp.org>
20750
20751         * doc/alloca.texi: New file.
20752         * doc/alloca-opt.texi: New file.
20753
20754 2004-12-17  Jim Meyering  <jim@meyering.net>
20755
20756         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
20757         Otherwise, install-sh could exit with improper exit status when
20758         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
20759
20760 2004-12-16  Simon Josefsson  <jas@extundo.com>
20761
20762         * tests/test-base64.c: Add license.
20763
20764 2004-12-15  Stepan Kasal  <address@hidden>
20765
20766         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
20767
20768 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
20769
20770         * modules/getcwd (Files): Add m4/d-ino.m4.
20771         Suggested by Mark D. Baushke.
20772
20773 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
20774
20775         * lib/getdate.y (textint): New member "negative".
20776         (time_zone_hhmm): New function.
20777         Expect 14 shift-reduce conflicts, not 13.
20778         (o_colon_minutes): New rule.
20779         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
20780         (yylex): Set the "negative" member of signed numbers.
20781
20782 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
20783
20784         * doc/getdate.texi (Time of day items, Time zone items):
20785         Describe new formats +00:00, UTC+00:00.
20786
20787 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
20788
20789         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
20790         spurious "-l"s.  Problem reported by Stepan Kasal.
20791
20792 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
20793
20794         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
20795         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
20796
20797 2004-12-04  Simon Josefsson  <jas@extundo.com>
20798
20799         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
20800         Vandoorselaere <yoann@prelude-ids.org>.
20801
20802 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
20803
20804         Changes imported from coreutils.
20805         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
20806         exist.
20807         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
20808
20809 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
20810
20811         Changes imported from coreutils.
20812         * lib/hard-locale.c: Assume <locale.h> exists.
20813         Include "strdup.h".
20814         (GLIBC_VERSION): New macro.
20815         (hard_locale): Assume setlocale exists.
20816         Rewrite to avoid #ifdef.
20817         Use strdup rather than malloc + strcpy.
20818         * lib/human.c: Assume <locale.h> exists.
20819         (human_readable): Assume localeconv exists.
20820
20821 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
20822
20823         * modules/hard-locale (Depends-on): Add strdup.
20824
20825 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
20826
20827         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
20828         convert T2, not T.  (Imported from libc.)
20829
20830 2004-11-30  Simon Josefsson  <jas@extundo.com>
20831
20832         * modules/restrict (License): Change to LGPL.
20833
20834 2004-11-30  Simon Josefsson  <jas@extundo.com>
20835
20836         * m4/restrict.m4: Add copyright and copying conditions.
20837
20838 2004-11-30  Simon Josefsson  <jas@extundo.com>
20839
20840         * m4/base64.m4: New file.
20841
20842 2004-11-30  Simon Josefsson  <jas@extundo.com>
20843
20844         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
20845         base64.
20846
20847         * tests/test-base64.c: New file.
20848
20849         * modules/base64: New file.
20850
20851 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
20852
20853         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
20854         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
20855
20856         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
20857
20858 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
20859
20860         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
20861         (__getcwd.c): Don't restore errno; glibc doesn't.
20862         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
20863         first, falling back to our code only if its results look suspicious.
20864         Ensure that the resulting buffer is only as large as necessary.
20865
20866         * lib/readutmp.c: Include readutmp.h first.
20867         Include <errno.h>, since readutmp.h no longer does that.
20868         * lib/readutmp.h: Don't include <errno.h>,
20869         <sys/param.h>, <time.h>; not needed to establish interface.
20870         (errno): Remove decl.
20871         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
20872         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
20873         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
20874
20875 2004-11-28  Simon Josefsson  <jas@extundo.com>
20876
20877         * lib/base64.h, base64.c: New file.
20878
20879 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
20880
20881         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
20882
20883 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
20884
20885         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
20886         (Depends-on): Remove pathmax, same.  Add mempcpy.
20887         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
20888         (Makefile.am): Append getcwd.h to lib_SOURCES.
20889         (Include): Add getcwd.h.
20890         (Maintainer): Change from Jim Meyering to "all, glibc",
20891         since getdate now uses intended-for-glibc code.
20892         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
20893         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
20894
20895 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
20896
20897         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
20898         HP's ANSI C compiler.
20899         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
20900         Declaring int functions causes warnings on some modern systems and
20901         shouldn't be needed to compile on ancient ones.
20902         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
20903         defined.
20904
20905         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
20906         with the following changes.
20907         (__set_errno): Parenthesize properly.
20908         Include <stdbool.h>.
20909         (MIN, MAX, MATCHING_INO): New macros.
20910         (__getcwd): Define with prototype, not K&R form.
20911         Use heuristics to allocate default buffer on stack if possible.
20912         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
20913         behavior, and to avoid the PATH_MAX limit when computing
20914         ../../../../...
20915         Use MATCHING_INO to compare inode number to file.
20916         Check for arithmetic overflow in size calculations.
20917         Fix bug in reallocation of dot array that caused getcwd to fail
20918         on directories nested deeper than 75.
20919         Be more careful about saving errno on error.
20920         Do not use realloc; use only free+malloc, as this is a bit
20921         more flexible and avoids a needless copy operation.
20922         Do not inspect st_dev and st_ino for symbolic links; POSIX
20923         doesn't specify the latter.
20924         Check for closedir errors.
20925         Avoid needless casts.
20926         Use "#ifdef weak_alias" around weak_alias, to be like other
20927         glibc code.
20928         The following changes to getcwd.c have effect only when used in
20929         gnulib; they have no effect inside glibc proper.
20930         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
20931         as alloca isn't used.
20932         (alloca, __alloca): Likewise.
20933         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
20934         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
20935         unconditionally, as gnulib assumes C89 or better.
20936         Do not include <sys/param.h>.
20937         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
20938         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
20939         better.
20940         (NULL) [!defined NULL]: Remove; we assume C89 or better.
20941         Include <dirent.h> in a way that is compatible with modern Autoconf.
20942         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
20943         New macros, if not already defined.
20944         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
20945         Use "_LIBC", not "defined _LIBC", for consistency.
20946         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
20947         a mempcpy module.
20948         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
20949         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
20950         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
20951         credit only to Jim Meyering and adjust the copyright dates.
20952         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
20953         <stdlib.h>, <unistd.h>, "pathmax.h".
20954         Instead, include "xgetcwd.h" (first) and "getcwd.h".
20955         (INITIAL_BUFFER_SIZE): Remove.
20956         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
20957
20958 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
20959
20960         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
20961         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
20962         Use the _ONCE methods, for efficiency.
20963         Check for fcntl.h.  In test program, include <errno.h>
20964         and <fcntl.h> if available.  Remove old K&R cruft from
20965         test program.  Check for common errors in GNU/Linux,
20966         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
20967         don't do AC_LIBOBJ, as that's getcwd.m4's job.
20968         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
20969         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
20970         name accordingly.
20971         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
20972         accommodate new getcwd.c.
20973         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
20974         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
20975         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
20976         that's all we need now.
20977
20978 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20979
20980         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
20981         argp-parse.c depends on getopt internals, that means we should
20982         always use our getopt, to be on the safe side.
20983         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
20984         order not to spoil the result of an eventual previous invocation
20985         of gl_GETOPT_SUBSTITUTE.
20986
20987 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20988
20989         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
20990         redefinition warnings. To avoid them, include the defines
20991         in `#if !defined __need_getopt ... #endif'. The only place
20992         where __getopt_argv_const is used is in definitions
20993         of getopt_long and getopt_long_only below, which are as well
20994         protected by `#ifndef __need_getopt'.
20995         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
20996         __need_getopt after including <stdio.h> and <unistd.h> These
20997         headers might have defined it.
20998
20999 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
21000
21001         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
21002
21003 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
21004
21005         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
21006         (futimens): New function, which uses futimes if available.
21007         (futimens, utimens): Support timespec==NULL, with same semantics
21008         as utime and utimens.
21009         * lib/utimens.h (futimens): New decl.
21010
21011 2004-11-23  Jim Meyering  <jim@meyering.net>
21012
21013         * lib/getopt_.h: Remove trailing blanks.
21014
21015 2004-11-23  Jim Meyering  <jim@meyering.net>
21016
21017         * lib/__fpending.c: Add comment.
21018
21019 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
21020
21021         * modules/canonicalize (Depends-on): Add xreadlink.
21022         Problem reported by James Youngman.
21023
21024 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
21025
21026         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
21027         New macros.
21028         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
21029         optopt): Use them instead of invoking ## directly; otherwise, the
21030         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
21031
21032 2004-11-19  Bruno Haible  <bruno@clisp.org>
21033
21034         * lib/strtok_r.c: Move comments from here...
21035         * lib/strtok_r.h: ... to here.
21036
21037 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
21038
21039         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
21040         implementations that mishandle size_t overflow.
21041
21042 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
21043
21044         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
21045         might fail.  Problem reported by Yoann Vandoorselaere.
21046         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
21047         implementations that mishandle size_t overflow.
21048
21049 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
21050
21051         * modules/canon-host (Depends-on): Add strdup.
21052
21053 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
21054
21055         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
21056
21057 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
21058
21059         * lib/canon-host.c: Include "strdup.h".
21060         (canon_host): Use getaddrinfo if available, so that IPv6 works.
21061         Use strdup instead of malloc/strcpy to duplicate strings.
21062
21063         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
21064         (human_space_before_unit): New constant.
21065         * lib/human.c (human_readable): Support it.
21066
21067         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
21068         (xgetcwd): Set errno correctly when failing.
21069         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
21070         the failure is actually due to a PATH_MAX problem.
21071
21072         Further getopt changes to make it more likely that glibc will
21073         buy the changes back.
21074         * lib/getopt.c (POSIXLY_CORRECT): New constant.
21075         (getopt): Use it, so to preserve glibc semantic
21076         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
21077         when compiling for libc.
21078         * lib/getopt_.h (__getopt_argv_const): Bring it back.
21079         (getopt_long, getopt_long_only): Use it.
21080
21081         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
21082         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
21083         (getopt): Argv is now char * const *, as per standard.
21084         (_getopt_internal_r, _getopt_internal): Argv is now char **,
21085         not char *__getopt_argv_const *.
21086         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
21087         _getopt_long_only_r): Likewise.
21088         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
21089         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
21090         _getopt_long_r, _getopt_long_only_r): Likewise.
21091         * lib/getopt_.h (__getopt_argv_const): Remove.
21092         (getopt): Argv is now char * const *, as per standard.
21093
21094         * lib/getdate.y (tORDINAL): New token.
21095         (day, relunit): Allow it for relative times.
21096         (relative_time_table): Use tORDINAL for ordinals.
21097
21098 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
21099
21100         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
21101         Document that "second" isn't allowed as an ordinal number.
21102
21103 2004-11-16  Jim Meyering  <jim@meyering.net>
21104
21105         * modules/closeout (Depends-on): Add fpending.
21106
21107 2004-11-15  Jim Meyering  <jim@meyering.net>
21108
21109         * lib/closeout.c: Include "__fpending.h" once again.
21110         Include <stdbool.h>.
21111         (close_stdout): Don't fail just because stdout was closed initially,
21112         since some programs don't write to stdout in the normal course of
21113         operation (other than --version and --help), and we don't want this
21114         function to make e.g. `touch file >&-' fail.
21115         But do fail if it was closed and someone has tried to write to it.
21116         E.g., `printf foo >&-' must fail.
21117
21118 2004-11-13  Jim Meyering  <jim@meyering.net>
21119
21120         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
21121
21122 2004-11-12  Simon Josefsson  <jas@extundo.com>
21123
21124         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
21125         small doc fix is still pending.
21126
21127 2004-11-11  Simon Josefsson  <jas@extundo.com>
21128
21129         * modules/strtok_r: New file.
21130
21131         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21132         strtok_r.
21133
21134 2004-11-11  Simon Josefsson  <jas@extundo.com>
21135
21136         * m4/strtok_r.m4: New file.
21137
21138         * m4/getopt.m4: Replace opterr.
21139
21140 2004-11-11  Simon Josefsson  <jas@extundo.com>
21141
21142         * lib/strtok_r.h, strtok_r.c: New file.
21143
21144 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
21145
21146         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
21147         of replacing opterr, getopt, etc.  This should handle the
21148         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
21149
21150 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
21151
21152         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
21153         we can stop lying to compilers about the constness of argv when we
21154         are compiled outside glibc.
21155         (getopt, getopt_long, getopt_long_only): Use it.
21156         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
21157         _getopt_internal, getopt): Likewise.
21158         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
21159         _getopt_long_only_r): Likewise.
21160         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
21161         _getopt_long_r, _getopt_long_only_r): Likewise.
21162
21163         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
21164         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
21165         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
21166         the other external symbols.
21167         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
21168         declaration, since the above renaming now works around collisions.
21169
21170 2004-11-11  Jim Meyering  <jim@meyering.net>
21171
21172         * lib/linebreak.c: Remove trailing blanks.
21173         * lib/alloca_.h: Likewise.
21174         * lib/acosl.c: Likewise.
21175         * lib/euidaccess.c: Likewise.
21176         * lib/allocsa.h: Likewise.
21177
21178 2004-11-10  Simon Josefsson  <jas@extundo.com>
21179
21180         * m4/getaddrinfo.m4: New file.
21181
21182 2004-11-10  Simon Josefsson  <jas@extundo.com>
21183
21184         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
21185
21186 2004-11-10  Simon Josefsson  <jas@extundo.com>
21187
21188         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
21189         getaddrinfo.
21190
21191         * modules/getaddrinfo: New file.
21192
21193 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
21194
21195         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
21196
21197 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
21198
21199         * lib/mktime.c (SHR): New macro, which is a portable
21200         substitute for >> that should work even on Crays.
21201         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
21202         Problem reported by Mark D. Baushke in
21203         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
21204         * lib/getdate.y (SHR): Likewise.
21205         (tm_diff): Use it.
21206         * lib/strftime.c (SHR): Likewise.
21207         (tm_diff): Use it.
21208         * lib/quotearg.c (struct quoting_options): Use unsigned int for
21209         quote_these_too, so that right shifts are well defined.  All uses
21210         changed.
21211
21212 2004-11-10  Jim Meyering  <jim@meyering.net>
21213
21214         Ensure that no close failure goes unreported.
21215         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
21216         return early when it seems there's nothing to flush.
21217         Don't include __fpending.h.
21218
21219 2004-11-10  Jim Meyering  <jim@meyering.net>
21220
21221         * modules/closeout (Depends-on): Remove fpending.
21222
21223 2004-11-10  Jim Meyering  <jim@meyering.net>
21224
21225         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
21226
21227 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
21228
21229         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
21230         gl_FUNC_STRFTIME.
21231         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
21232         and AC_REQUIRE when possible, to avoid duplicate checks.
21233         Check for <wchar.h>.
21234
21235 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
21236
21237         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
21238
21239 2004-11-09  Bruno Haible  <bruno@clisp.org>
21240
21241         * m4/sockpfaf.m4: New file.
21242
21243 2004-11-05  Bruno Haible  <bruno@clisp.org>
21244
21245         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
21246         Reported by Mark D. Baushke <mdb@cvshome.org>.
21247
21248 2004-11-04  Bruno Haible  <bruno@clisp.org>
21249
21250         2004-09-11  Bruno Haible  <bruno@clisp.org>
21251                 * allocsa.valgrind: New file.
21252         2004-02-06  Bruno Haible  <bruno@clisp.org>
21253                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
21254                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
21255                 Reported by Christopher Seip <chris.seip@hp.com>.
21256
21257 2004-11-04  Bruno Haible  <bruno@clisp.org>
21258
21259         * modules/allocsa (Files): Add lib/allocsa.valgrind.
21260         (Makefile.am): Distribute it.
21261
21262 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
21263
21264         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
21265         with errno == ERANGE if the buffer is too small.
21266         Problem reported by Mark D. Baushke.
21267
21268 2004-11-03  Albert Chin  <china@thewrittenword.com>
21269             Paul Eggert  <eggert@cs.ucla.edu>
21270
21271         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
21272         equivalent, substitute $ac_type for equivalent type rather than
21273         blindly using uint32_t *always* which won't work if uint32_t is not
21274         available.  Define _UINT32_T to work around typedef of uint32_t if
21275         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
21276         2.5.1.
21277
21278 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
21279
21280         * m4/jm-macros.m4: Sync from coreutils.
21281         (gl_MACROS): Check for mbrlen, for pathchk.
21282         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
21283
21284 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
21285
21286         * lib/xreadlink.c (MAXSIZE): New macro.
21287         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
21288         size does not exceed MAXSIZE.  Avoid cast.
21289         As suggested by Mark D. Baushke in
21290         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
21291         if readlink fails with buffer size just under MAXSIZE, try again
21292         with MAXSIZE.
21293
21294 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
21295
21296         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
21297
21298 2004-11-02  Derek R. Price  <derek@ximbiot.com>
21299         and  Paul Eggert  <eggert@cs.ucla.edu>
21300
21301         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
21302         (get_date): Overparenthesize to avoid GCC warning.
21303
21304 2004-11-02  Bruno Haible  <bruno@clisp.org>
21305
21306         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
21307         returns void.
21308
21309 2004-11-02  Bruno Haible  <bruno@clisp.org>
21310
21311         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
21312         function returns void.
21313
21314 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
21315
21316         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
21317         fflush_unlocked, flockfile, funlockfile, funlockfile,
21318         fputs_unlocked, putc_unlocked.
21319
21320 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
21321
21322         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
21323         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
21324         already declared.
21325
21326 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
21327
21328         * modules/getdate (Files): Add doc/getdate.texi.
21329         (Depends-on): Add setenv, xalloc.
21330
21331 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
21332
21333         * lib/getdate.y: Add support for TZ="foo" within a date string.
21334         Fix some bugs near time_t boundaries.  Reject dates with
21335         out-of-range components, e.g., "Sept 31".
21336         Include <stdlib.h>, "setenv.h", "xalloc.h".
21337         (ISDIGIT_LOCALE): Remove; unused.
21338         Note that the TZ and time functions used here are not reentrant.
21339         (mktime_ok, get_tz): New functions.
21340         (TZBUFSIZE): New constant.
21341         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
21342         This requires that we sometimes generate our own TZ="XXX..." setting.
21343
21344 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
21345
21346         * doc/getdate.texi: New file, from coreutils with modifications for
21347         the new TZ parsing.
21348
21349 2004-10-27  Derek R. Price  <derek@ximbiot.com>
21350
21351         * lib/mktime.c (not_equal_tm): Remove redundant check.
21352
21353 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
21354
21355         * modules/regex (lib_SOURCES): Add regex.c.
21356         Reported by James Youngman in
21357         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
21358
21359 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
21360
21361         * lib/getdate.y: Use Bison 1.875 features, and some minor
21362         code cleanups.  This change does not affect semantics.
21363         Don't include <stdlib.h>; no longer needed.
21364         Don't include unlocked-io.h; only the "#if TEST" code uses
21365         stdio, and performance isn't crucial there.
21366         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
21367         Bison 1.875 features as described below.
21368         All uses of "PC." replaced by "pc->".
21369         (YYSTYPE): Add a forward declaration.
21370         (yylex, yyerror): Use full prototypes in forward decls.
21371         Use "%pure-parser" rather than obsolescent "%pure_parser".
21372         Use %parse-param and %lex-param instead of obsolescent
21373         YYPARSE_PARAM and YYLEX_PARAM.
21374         (meridian_table, month_and_day_table, time_units_table,
21375         relative_time_table, time_zone_table, military_table,
21376         lookup_zone, lookup_word, get_date):
21377         Use NULL instead of 0 where appropriate.
21378         (to_hour): Avoid abort (), to avoid a dependency on
21379         stdlib.h.
21380         (yyerror, yylex): Now accepts parser_control * arg.
21381         (main) [TEST]: Use '\0' rather than 0 for char.
21382
21383 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
21384
21385         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
21386
21387 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
21388
21389         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
21390         It's now the caller's responsibility to handle the case where
21391         !HAVE_GETPAGESIZE && !defined getpagesize.
21392
21393         * lib/mktime.c (leapyear): Arg is long int, not int.
21394
21395 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
21396
21397         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
21398
21399 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
21400
21401         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
21402         missing.  Problem reported by James Youngman.
21403
21404 2004-10-16  Simon Josefsson  <jas@extundo.com>
21405
21406         * gnulib-tool: Fix comments.  Fix parse problem.
21407         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
21408
21409 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
21410
21411         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
21412         implementation of getopt_long.  Problem reported by Alexander Taler in:
21413         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
21414
21415 2004-10-15  Bruno Haible  <bruno@clisp.org>
21416
21417         * gnulib-tool: Untabify. Initialize supplied_libname.
21418         (func_usage): More homogenous output.
21419         (func_modules_transitive_closure, func_modules_to_filelist,
21420         func_emit_lib_Makefile_am): New functions.
21421         (func_import): New function, extracted from big case statement. Use
21422         func_get_license, func_modules_transitive_closure,
21423         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
21424         opt_lgpl. Don't use test -a, as it's not portable.
21425         (func_create_testdir): Use func_modules_transitive_closure,
21426         func_modules_to_filelist, func_emit_lib_Makefile_am.
21427
21428 2004-10-15  Bruno Haible  <bruno@clisp.org>
21429
21430         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
21431
21432 2004-10-15  Bruno Haible  <bruno@clisp.org>
21433
21434         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
21435         the portions belonging to each module.
21436         Suggested by Derek Robert Price <derek@ximbiot.com>.
21437
21438 2004-10-12  Simon Josefsson  <jas@extundo.com>
21439
21440         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
21441         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
21442         to real functions.
21443
21444 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21445
21446         * modules/vsnprintf: New file.
21447
21448 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21449
21450         * m4/vsnprintf.m4: New file.
21451
21452 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21453
21454         * lib/vsnprintf.h: New file.
21455         * lib/vsnprintf.c: New file.
21456
21457 2004-10-11  Bruno Haible  <bruno@clisp.org>
21458
21459         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
21460         vsnprintf.
21461
21462 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
21463
21464         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
21465
21466 2004-10-07  Bruno Haible  <bruno@clisp.org>
21467
21468         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
21469         fits into the provided buffer.
21470
21471 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
21472
21473         * lib/diacrit.c, diacrit.h: Add GPL notice.
21474
21475         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
21476         notice.
21477         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
21478         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
21479         This avoids a potential constant-folding bug.
21480
21481 2004-10-05  Bruno Haible  <bruno@clisp.org>
21482
21483         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
21484         for the declaration of strsep.
21485
21486 2004-10-05  Bruno Haible  <bruno@clisp.org>
21487
21488         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
21489
21490 2004-10-04  Simon Josefsson  <jas@extundo.com>
21491
21492         * modules/memmem: New file.
21493         * tests/test-memmem.c: New file.
21494         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
21495
21496 2004-10-04  Simon Josefsson  <jas@extundo.com>
21497
21498         * m4/memmem.m4: New file.
21499
21500 2004-10-04  Simon Josefsson  <jas@extundo.com>
21501
21502         * lib/memmem.h: New file.
21503         * lib/memmem.c: New file, taken from glibc.
21504
21505 2004-10-04  Simon Josefsson  <jas@extundo.com>
21506
21507         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
21508         '#ifdef USE_UNLOCKED_IO'.
21509
21510 2004-10-04  Simon Josefsson  <jas@extundo.com>
21511
21512         * config/srclist.txt: Add memmem from glibc.
21513
21514 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
21515
21516         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
21517
21518         * modules/argmatch, modules/argp, modules/closeout, modules/error,
21519         modules/exclude, modules/getdate, modules/getline,
21520         modules/getndelim2, modules/getpass, modules/getpass-gnu,
21521         modules/getusershell, modules/linebuffer, modules/md5,
21522         modules/mountlist, modules/posixtm, modules/readtokens,
21523         modules/readutmp, modules/regex, modules/sha1,
21524         modules/version-etc, modules/yesno:
21525         Remove dependency on unlocked-io.
21526
21527 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
21528
21529         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
21530
21531         * m4/unlocked-io.m4: Add copyright notice.
21532         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
21533
21534 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
21535
21536         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
21537         * lib/xmalloc.c (xmemdup): Likewise.
21538         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
21539         XFREE): Remove these long-obsolescent macros.
21540         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
21541         * lib/xstrdup.c: Remove.
21542
21543         * lib/regex.c (re_comp): Cast gettext return value to char *,
21544         Problem reported by Martin Neitzel via Mark D. Baushke.
21545
21546 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
21547
21548         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
21549         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
21550         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
21551         regex.c, sha1.c, version-etc.c, yesno.c:
21552         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
21553         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
21554         the includer's responsibility.
21555
21556         Sync from coreutils.
21557
21558         * lib/modechange.c (mode_compile): Don't decrement a pointer that
21559         points to the start of a string, as the C Standard says the
21560         resulting behavior is undefined.
21561
21562         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
21563         simple -> simple_backups, numbered_existing ->
21564         numbered_existing_backups, numbered -> numbered_backups
21565         to avoid shadowing problems.  All uses changed.
21566         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
21567         * lib/backupfile.c (check_extension, numbered_backup):
21568         Rename locals to avoid shadowing 'basename'.
21569         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
21570         once.
21571
21572         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
21573         * lib/.cvsignore: Add getopt.h.
21574
21575 2004-10-04  Bruno Haible  <bruno@clisp.org>
21576
21577         * modules/README: New file.
21578         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
21579         not a module.
21580
21581 2004-10-02  Jim Meyering  <jim@meyering.net>
21582
21583         * lib/dirfd.h, getpagesize.h: Add copyright notice.
21584
21585 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21586
21587         * modules/strsep: New file.
21588
21589 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21590
21591         * m4/strsep.m4: New file.
21592
21593 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
21594
21595         * lib/strsep.h: New file.
21596         * lib/strsep.c: New file.
21597
21598 2004-10-01  Simon Josefsson  <jas@extundo.com>
21599
21600         * lib/snprintf.c (snprintf): Handle size==0.
21601
21602 2004-10-01  Simon Josefsson  <jas@extundo.com>
21603             Bruno Haible  <bruno@clisp.org>
21604
21605         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
21606         (snprintf): Declare 'args'.
21607
21608 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
21609
21610         * lib/snprintf.c: Remove comments as to why each header is needed.
21611
21612 2004-10-01  Bruno Haible  <bruno@clisp.org>
21613
21614         * MODULES.html.sh: Add strsep.
21615
21616 2004-09-30  Simon Josefsson  <jas@extundo.com>
21617
21618         * modules/snprintf: New file.
21619
21620 2004-09-30  Simon Josefsson  <jas@extundo.com>
21621
21622         * m4/snprintf.m4: New file.
21623
21624 2004-09-30  Simon Josefsson  <jas@extundo.com>
21625
21626         * lib/snprintf.h, lib/snprintf.c: New files.
21627
21628 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
21629
21630         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
21631         (hol_entry_help): Never translate an empty string.
21632         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
21633         * lib/argp.h (OPTION_NO_TRANS): New option.
21634
21635 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
21636
21637         * modules/argp (Maintainer): Replace Simon Josefsson
21638         by Sergey Poznyakoff.
21639
21640 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
21641
21642         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
21643         changes merged back into glibc.
21644
21645 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
21646
21647         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
21648
21649 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
21650
21651         * lib/xvasprintf.c: Include xalloc.h.
21652         (xvasprintf): Use xalloc_die, not xmalloc_die.
21653
21654 2004-09-29  Bruno Haible  <bruno@clisp.org>
21655
21656         * modules/alloca-opt: New file, derived from modules/alloca.
21657         * modules/allocsa: Depend on alloca-opt instead of alloca.
21658         * modules/setenv: Likewise.
21659         * modules/vasnprintf: Likewise.
21660         * MODULES.html.sh: Add alloca-opt.
21661
21662 2004-09-28  Simon Josefsson  <jas@extundo.com>
21663
21664         * gnulib-tool: New parameter --lgpl, to asseert that modules are
21665         LGPL, and to replace license template from GPL to LGPL.
21666
21667 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
21668
21669         * modules/dummy: Change license to LGPL.
21670
21671 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
21672
21673         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
21674
21675 2004-09-24  Simon Josefsson  <jas@extundo.com>
21676
21677         * modules/minmax (License): Change from GPL to LGPL.
21678
21679 2004-09-23  Simon Josefsson  <jas@extundo.com>
21680
21681         * gnulib-tool (--import): Typo.
21682
21683 2004-09-23  Simon Josefsson  <jas@extundo.com>
21684
21685         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
21686
21687 2004-09-22  Bruno Haible  <bruno@clisp.org>
21688
21689         * modules/*: Add 'License' field.
21690         * gnulib-tool: Accept --extract-license option.
21691         (func_get_license): New function.
21692
21693 2004-09-21  Bruno Haible  <bruno@clisp.org>
21694
21695         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
21696         Reported by Simon Josefsson.
21697
21698 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
21699
21700         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
21701         gl_AC_TYPE_LONG_LONG.
21702
21703 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
21704
21705         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
21706
21707 2004-09-18  Simon Josefsson  <jas@extundo.com>
21708         and  Paul Eggert  <eggert@cs.ucla.edu>
21709
21710         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
21711         calls with autoreconf.  Define GL_LIB.
21712
21713 2004-09-14  Karl Berry  <karl@gnu.org>
21714
21715         * config/srclist.txt: unsync setenv.c, sigh.
21716
21717 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
21718
21719         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
21720         Problem reported by Bruno Haible in:
21721         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
21722
21723 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
21724
21725         * config/srclist.txt: Comment out argp-pvh.c.
21726
21727 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
21728
21729         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
21730         in case some system header has #define'd it.  Problem reported by
21731         Soeren D. Schulze in
21732         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
21733
21734 2004-09-09  Karl Berry  <karl@gnu.org>
21735
21736         * regex.[ch]: delete from the root.  These were supposed to be
21737                 synced with emacs cvs, but this has not happened for about
21738                 a year, and anyway nothing else uses emacs regex.[ch].
21739                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
21740                 lib/regex[.ch] is untouched.
21741
21742 2004-09-09  Bruno Haible  <bruno@clisp.org>
21743
21744         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
21745
21746 2004-09-09  Bruno Haible  <bruno@clisp.org>
21747
21748         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
21749         modifications.
21750         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
21751
21752 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
21753
21754         * modules/xvasprintf: New file.
21755         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
21756
21757 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
21758
21759         * lib/xvasprintf.h: New file.
21760         * lib/xvasprintf.c: New file.
21761         * lib/xasprintf.c: New file.
21762
21763 2004-09-08  Bruno Haible  <bruno@clisp.org>
21764
21765         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
21766
21767 2004-09-08  Bruno Haible  <bruno@clisp.org>
21768
21769         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
21770         length is > INT_MAX.
21771         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
21772         more.
21773
21774 2004-09-08  Bruno Haible  <bruno@clisp.org>
21775
21776         * lib/stdint_.h: New file, taken from GNU clisp.
21777
21778 2004-09-08  Bruno Haible  <bruno@clisp.org>
21779             Oskar Liljeblad  <oskar@osk.mine.nu>
21780
21781         * modules/stdint: New file.
21782         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
21783
21784 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
21785
21786         Import from coreutils.
21787         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
21788         strings on unbounded length.  alloca's performance benefits aren't
21789         that important here.
21790         (V_STRDUP): Remove.
21791         (parse_with_separator): New function, with most of the internals
21792         of the old parse_user_spec.  Allow user to omit both user and group,
21793         for compatibility with FreeBSD.
21794         Clone only the user name, not the entire spec.
21795         Do not set *uid, *gid unless entirely successful.
21796         Avoid memory leak in some failing cases.
21797         Fix regression for USER.GROUP reported by Dmitry V. Levin in
21798         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
21799         (parse_user_spec): Rewrite to use parse_with_separator.
21800
21801 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
21802
21803         * modules/userspec: Don't depend on alloca.
21804
21805 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
21806
21807         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
21808
21809 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
21810
21811         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
21812         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
21813         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
21814
21815 2004-08-16  Simon Josefsson  <jas@extundo.com>
21816
21817         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
21818         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
21819         Add --dry-run for --import.
21820         Let user provided command line parameters override configure.ac
21821         settings.
21822
21823 2004-08-12  Simon Josefsson  <jas@extundo.com>
21824
21825         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
21826         as discussed with Paul Eggert in threads rooted at
21827         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
21828         and
21829         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
21830         Before, the test was empty, and relied on ELIDE_CODE in source
21831         code.)
21832         (gl_PREREQ_GETOPT): New macro.
21833         (gl_GETOPT): Use them.
21834
21835 2004-08-12  Simon Josefsson  <jas@extundo.com>
21836
21837         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
21838         * lib/getopt_.h: Renamed from getopt.h.
21839
21840 2004-08-12  Simon Josefsson  <jas@extundo.com>
21841
21842         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
21843         Change default library name from libfoo to libgnu.
21844         Now, if you have a configure.ac that says:
21845                 gl_SOURCE_BASE(gl)
21846                 gl_M4_BASE(gl/m4)
21847                 gl_MODULES(error getopt etcetera)
21848                 gl_INIT
21849         you can import all you need by running:
21850                 ../gnulib/gnulib-tool --import
21851
21852         * modules/getopt (Files): Rename getopt.h to getopt_.h.
21853         (Makefile.am): Rewrite, use logic from argz.
21854         (Include): Use <getopt.h> instead of "getopt.h".
21855
21856 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
21857
21858         * modules/argp (Files): Add m4/unlocked-io.m4.
21859         (Depends-on): Add extensions.
21860
21861 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
21862
21863         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
21864         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
21865         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
21866         Check for program_invocation_name, program_invocation_short_name,
21867         flockfile, funlockfile, features.h, _getopt_long_only_r.
21868
21869 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
21870
21871         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
21872         its complicated substitute.
21873         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
21874         and program_invocation_name.
21875         (__argp_basename) [!_LIBC]: Remove; the only use was
21876         replaced by its body.
21877         (__argp_short_program_name): Change condition from
21878         !defined __argp_short_program_name to
21879         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
21880         to match argp-namefrob.h.
21881         (__argp_failure): Don't assume strerror_r returns char *.
21882         * lib/argp-parse.c (N_): Define unconditionally.
21883         (argp_default_options): Fill out initializers with 0 to avoid
21884         gcc warnings.
21885
21886 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
21887
21888         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
21889         getopt1.c.
21890
21891 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
21892
21893         Merge from coreutils.
21894
21895         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
21896
21897         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
21898         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
21899
21900 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
21901
21902         Merge from coreutils.
21903
21904         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
21905         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
21906         for Reliant Unix 5.43.
21907
21908         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
21909         (union fooround): Use uintmax_t, not long int.
21910         The rest is a merge from libc:
21911         [defined _LIBC]: Include <shlib-compat.h>.
21912         (_obstack) [defined _LIBC]: Remove after 2.3.4.
21913
21914         * lib/settime.c (settime): Recode to avoid warning with
21915         Sun Forte C 6U2.
21916
21917         * lib/strverscmp.c: Convert to UTF-8.
21918
21919 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
21920
21921         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
21922         m4/uintmax_t.m4.
21923
21924 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
21925
21926         * modules/xalloc-die: New file.
21927         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
21928
21929         * modules/md5 (Files): Add m4/uint32_t.m4.
21930         * modules/sha1: Renamed from modules/sha.
21931         (Files):
21932         Rename lib/sha.h to lib/sha1.h.
21933         Rename lib/sha.c to lib/sha1.c.
21934         Rename m4/sha.m4 to m4/sha1.m4.
21935         (lib_SOURCES): Likewise.
21936         (configure.ac): Rename gl_SHA to gl_SHA1.
21937         (Include): sha.h -> sha1.h.
21938
21939 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
21940
21941         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
21942         * m4/sha1.m4: Renamed from sha.m4.
21943         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
21944
21945 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
21946
21947         * lib/obstack.h (obstack_empty_p):
21948         Don't assume that chunk->contents is suitably aligned.
21949         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
21950         Likewise. Problem reported by Benno in
21951         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
21952
21953         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
21954         readable.  This could be improved further but it'd take some work.
21955
21956 2004-08-08  Simon Josefsson  <jas@extundo.com>
21957
21958         * modules/xgethostname (Depends-on): Remove exit and error (not
21959         used).
21960
21961         * modules/getpass-gnu: Add getpass.h.
21962         (Depends-on): Add stdbool.
21963         * modules/getpass: Add getpass.h.
21964
21965 2004-08-08  Simon Josefsson  <jas@extundo.com>
21966
21967         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
21968         Check getpass declaration.
21969
21970 2004-08-08  Simon Josefsson  <jas@extundo.com>
21971
21972         * lib/xgethostname.c: Don't include error.h (not used).
21973
21974         * lib/getpass.h: Add.
21975         * lib/getpass.c: Include getpass.h first.
21976
21977 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
21978
21979         * lib/xalloc-die.c: New file.
21980         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
21981         All uses removed.
21982         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
21983         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
21984         xalloc-die.c.
21985         (_, N_, xalloc_die): Move to xalloc-die.c.
21986         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
21987         so that we needn't mess with xalloc_msg_memory_exhausted.
21988
21989         * lib/sha1.h: Renamed from sha.h.
21990         (SHA1_H): Renamed from _SHA_H.
21991         (sha1_ctx): Renamed from sha_ctx.
21992         (sha1_init_ctx): Renamed from sha_init_ctx.
21993         (sha1_process_block): Renamed from sha_process_block.
21994         (sha1_process_bytes): Renamed from sha_process_bytes.
21995         (sha1_finish_ctx): Renamed from sha_finish_ctx.
21996         (sha1_read_ctx): Renamed from sha_read_ctx.
21997         (sha1_stream): Renamed from sha_stream.
21998         (sha1_buffer): Renamed from sha_buffer.
21999         * lib/sha1.c: Likewise; renamed from sha.c.
22000         Do not include <sys/types.h>.
22001         Include <stddef.h> rather than <stdlib.h>.
22002
22003 2004-08-08  Bruno Haible  <bruno@clisp.org>
22004
22005         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
22006         FILESYSTEM_PREFIX_LEN.
22007         * lib/progreloc.c: Likewise.
22008         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
22009
22010 2004-08-06  Simon Josefsson  <jas@extundo.com>
22011
22012         * modules/progname (Depends-on): Don't depend on stdbool.
22013
22014 2004-08-06  Simon Josefsson  <jas@extundo.com>
22015
22016         * modules/getsubopt: New file.
22017         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
22018         getsubopt.
22019
22020 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
22021
22022         More merge from coreutils.
22023
22024         * m4/utimens.m4, m4/utimecmp.m4: New files.
22025         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
22026         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
22027         prereq.m4, sha.m4: Import changes from coreutils.
22028
22029 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
22030
22031         More merge from coreutils.
22032         * modules/raise, modules/readtokens0, modules/utimens:
22033         * modules/utimecmp, module/xnanosleep: New files.
22034         * modules/strftime: Add lib/strftime.h.
22035         Change include from <time.h> to "strftime.h".
22036         * modules/yesno: Add lib/yesno.h.
22037         * modules/backupfile: Remove lib/addext.c.
22038         * modules/euidaccess: Add stat-macros.h.
22039         * modules/canonicalize, modules/euidaccess,
22040         modules/filemode, modules/lchown, modules/makepath,
22041         modules/rmdir, modules/stat: Likewise.
22042
22043 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
22044
22045         Merge from tar.
22046         * lib/argp-help.c (make_hol, hol_append): Don't assume that
22047         SIZE_MAX is a valid preprocessor constant.
22048         (__argp_basename): Change from "#ifndef _LIBC"
22049         to "#ifndef __argp_short_program_name", so that
22050         we don't compile these functions for tar.
22051
22052         More merges from coreutils.
22053         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
22054         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
22055         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
22056         * lib/addext.c: Remove; no longer needed.
22057         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
22058         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
22059         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
22060         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
22061         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
22062         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
22063         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
22064         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
22065         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
22066         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
22067         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
22068         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
22069         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
22070         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
22071         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
22072         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
22073         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
22074         Import changes from coreutils.
22075
22076 2004-08-05  Simon Josefsson  <jas@extundo.com>
22077
22078         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
22079
22080 2004-08-05  Simon Josefsson  <jas@extundo.com>
22081
22082         * m4/getsubopt.m4: New file.
22083
22084 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
22085
22086         Merge from coreutils.
22087
22088         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
22089         * m4/getcwd-path-max.m4: New files.
22090
22091         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
22092         FILESYSTEM_PREFIX_LEN ->
22093         FILE_SYSTEM_PREFIX_LEN.
22094         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
22095         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
22096         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
22097         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
22098
22099         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
22100         prerequisite modules now handle the DOS stuff.
22101         Don't check for unistd.h.
22102
22103 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
22104
22105         Merge from coreutils.
22106
22107         * lib/.gdb-history: Remove; this doesn't belong here.
22108
22109         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
22110         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
22111         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
22112         * lib/getcwd.c: New files.
22113
22114         * lib/dirname.h: Include <stdbool.h>.
22115         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
22116         for consistency with POSIX terminology.  All uses changed.
22117         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
22118         (strip_trailing_slashes): Use bool for booleans.
22119         * lib/stripslash.c (strip_trailing_slashes): Likewise.
22120
22121         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
22122         sometimes returns a positive errno value even when it succeeds.
22123         (print_errno_message) [!LIBC]: Fall back on strerror if
22124         __strerror_r fails.
22125
22126         * lib/path-concat.c (mempcpy): Don't define if a system header defines
22127         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
22128         (longest_relative_suffix): New function.
22129         (path_concat): Use it.  Assume first argument is not NULL.
22130         Port to DOS.  Omit redundant separators.
22131         Report an error instead of returning NULL.
22132         Use mempcpy instead of memcpy.
22133         (xpath_concat): Remove: not declared or used.
22134
22135         * lib/same.h: Include <stdbool.h>
22136         (same_name): Return bool, not int.
22137         * lib/same.c (same_name): Likewise.
22138         (errno): Don't declare; we assume C89 or better now.
22139
22140         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
22141         if not already defined.
22142
22143         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
22144         * lib/dup-safer.c (errno): Likewise.
22145
22146 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
22147
22148         Merge from coreutils.
22149         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
22150         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
22151         * modules/path-concat: Don't depend on strdup.
22152
22153 2004-08-03  Simon Josefsson  <jas@extundo.com>
22154
22155         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
22156         * lib/progname.h: Don't include stdbool.h.
22157
22158 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
22159
22160         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
22161         * MODULES.html.sh (func_all_modules): Remove fatal.
22162
22163 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
22164
22165         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
22166
22167 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
22168
22169         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
22170         working.
22171
22172 2004-08-02  Simon Josefsson  <jas@extundo.com>
22173
22174         * lib/getsubopt.h: New file, with comments from Bruno Haible.
22175         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
22176         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
22177
22178 2004-08-01  Simon Josefsson  <jas@extundo.com>
22179
22180         * lib/xgetdomainname.c: Include stdlib.h, for free().
22181
22182 2004-07-19  Bruno Haible  <bruno@clisp.org>
22183
22184         * MODULES.html.sh (func_all_modules): Add dummy.
22185
22186 2004-07-16  Simon Josefsson  <jas@extundo.com>
22187
22188         * modules/dummy: New file.
22189
22190 2004-07-16  Simon Josefsson  <jas@extundo.com>
22191
22192         * lib/dummy.c: New file.
22193
22194 2004-07-16  Bruno Haible  <bruno@clisp.org>
22195
22196         * lib/backupfile.h: Add extern "C" for C++.
22197         * lib/closeout.h: Likewise.
22198         * lib/copy-file.h: Likewise.
22199         * lib/findprog.h: Likewise.
22200         * lib/full-write.h: Likewise.
22201         * lib/pathname.h: Likewise.
22202         * lib/progname.h: Likewise.
22203         * lib/stpcpy.h: Likewise.
22204         * lib/stpncpy.h: Likewise.
22205         * lib/strcase.h: Likewise.
22206         * lib/strstr.h: Likewise.
22207         * lib/xalloc.h: Likewise.
22208
22209         * lib/mbswidth.h: Add extern "C" for C++.
22210         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
22211
22212 2004-07-13  Robert Millan  <robertmh@gnu.org>
22213
22214         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
22215
22216 2004-07-09  Simon Josefsson  <jas@extundo.com>
22217
22218         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
22219         failed without this.)
22220
22221 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
22222
22223         * modules/chown (Files): Add lib/fchown-stub.c, since
22224         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
22225
22226 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
22227
22228         * lib/fchown-stub.c: New file.
22229
22230 2004-06-24  Jim Meyering  <jim@meyering.net>
22231
22232         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
22233
22234 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
22235
22236         * modules/argz: Omit "#include".
22237
22238         * MODULES.html.sh (func_all_modules): Add calloc, to match
22239         2004-06-01 addition of calloc module.
22240
22241 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
22242
22243         * m4/argz.m4: New file, which is autoupdated from libtool.
22244
22245 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
22246
22247         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
22248         libtool.
22249
22250 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
22251
22252         * config/srclist-update: Don't insist on "USA." before the
22253         close-comment, as libtool omits the period and puts the */ on a
22254         separate line.
22255         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
22256         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
22257
22258 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
22259
22260         * modules/argz: New file.
22261         * MODULES.html.sh (func_all_modules): Add argz.
22262
22263 2004-06-12  Jim Meyering  <jim@meyering.net>
22264         and  Paul Eggert  <eggert@cs.ucla.edu>
22265
22266         * modules/hash (Files): Add lib/xalloc.h.
22267         * modules/pipe (Depends-on): Add wait-process.
22268         * modules/stat (Depends-on): Add xalloc.
22269         * modules/userspec (Files): Add lib/userspec.h.
22270         * modules/xstrto
22271
22272         Upgrade from gettext-0.13.
22273         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
22274         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
22275         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
22276
22277 2004-06-10  Jim Meyering  <jim@meyering.net>
22278
22279         * lib/calloc.c: New file.
22280
22281 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
22282
22283         * lib/getdate.y (yylex): Allow space between sign and number.
22284         Problem reported by Dan Jacobson.
22285
22286 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
22287
22288         Merge from coreutils CVS.
22289
22290         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
22291         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
22292         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
22293         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
22294         xstrtol.m4: Fix copyright date and/or serial number.
22295
22296         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
22297         See if we need an fchown replacement.
22298         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
22299         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
22300         and use the replacement function if we detect either defect.
22301
22302         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
22303         gl_UTIMECMP.
22304
22305 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
22306         and  Jim Meyering  <jim@meyering.net>
22307
22308         Merge from coreutils CVS.
22309
22310         * lib/stat-macros.h: New file, with contents from file-type.h
22311         and coreutils' system.h.
22312         * lib/file-type.c: Include "stat-macros.h".
22313         * lib/file-type.h (file_type): Move all macro definitions to new file,
22314         stat-macros.h.
22315
22316         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
22317         Wrap old code with this conditional.
22318         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
22319         function that does not dereference symlinks.
22320         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
22321
22322         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
22323         dependency problems.
22324         (xreadlink): Accept new arg SIZE, for efficiency.
22325         All decls and uses changed.
22326         * lib/xreadlink.h: Include <stddef.h>, for size_t.
22327
22328         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
22329         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
22330
22331         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
22332         sysexits.h.
22333
22334 2004-06-01  Jim Meyering  <jim@meyering.net>
22335
22336         * m4/calloc.m4: New file.
22337
22338 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
22339
22340         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
22341         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
22342         Also, fix a typo in a diagnostic.
22343
22344 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
22345
22346         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
22347         or AC_FUNC_REALLOC.
22348
22349 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
22350
22351         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
22352         macros to be defined.
22353         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
22354         the allocator returns NULL because the requested size is zero.
22355
22356 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
22357
22358         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
22359         var.  Add comment explaining why libc still defines it.  This
22360         merges the following patch from glibc:
22361         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
22362
22363 2004-05-20  Andreas Schwab  <schwab@suse.de>
22364
22365         * m4/free.m4: Replace free if it not known to work, not the other
22366         way round.
22367
22368 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22369
22370         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
22371         present in glibc since revision 1.1 of this file.
22372         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
22373         obstack_alignment_mask, obstack_alloc, obstack_base,
22374         obstack_blank, obstack_blank_fast, obstack_chunk_size,
22375         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
22376         obstack_grow0, obstack_init, obstack_int_grow,
22377         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
22378         obstack_next_free, obstack_object_size, obstack_ptr_grow,
22379         obstack_ptr_grow_fast, obstack_room): Remove declarations of
22380         nonexistent functions.
22381
22382 2004-05-18  Karl Berry  <karl@gnu.org>
22383
22384         * config/srclist.txt: break link for vasnprintf.c.
22385
22386 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22387
22388         Port obstack to the AS/400, where pointers are 16 bytes wide and
22389         you cannot cast an integer to a valid pointer.  This patch is
22390         currently waiting to be integrated into glibc; see
22391         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
22392
22393         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
22394         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
22395         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
22396         (struct obstack): temp member is now a union of a pointer and
22397         an integer, instead of an integer.  All integer uses changed.
22398         This does not affect the physical layout of struct obstack,
22399         except on hosts (like the AS/400) where the size or alignment of
22400         void * is greater than that of ptrdiff_t.
22401         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
22402         __STDC__)]: Store temporary in pointer member of union, not
22403         integer member.
22404         * lib/obstack.c: Include <stddef.h>, for offsetof.
22405         (struct fooalign): Remove; it doesn't need a name.
22406         (union fooround): Change double to long double, and add void *.
22407         (DEFAULT_ALIGNMENT): Use offsetof to compute.
22408         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
22409         not a macro.  Hence the values are always int; so remove all
22410         casts-to-int in uses.
22411
22412 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22413
22414         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
22415         we can get this patch merged into glibc.
22416
22417 2004-05-17  Derek R. Price  <derek@ximbiot.com>
22418             Paul Eggert  <eggert@cs.ucla.edu>
22419
22420         * m4/argp: Depend on alloca.
22421
22422 2004-05-17  Derek R. Price  <derek@ximbiot.com>
22423             Paul Eggert  <eggert@cs.ucla.edu>
22424
22425         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
22426         freecoding.
22427
22428 2004-05-17  Bruno Haible  <bruno@clisp.org>
22429
22430         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
22431         precision that consists of a '.' followed by an empty digit string.
22432         Patch by Tor Lillqvist <tml@iki.fi>.
22433
22434 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22435
22436         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
22437         for backward compatibility with older code.  We need our own
22438         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
22439         it under some other name, and our alloca.h will define it.
22440
22441 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22442             Derek Price  <derek@ximbiot.com>
22443
22444         * lib/alloca.c: Include <alloca.h>, to get our interface.
22445         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
22446         include <alloca.h> first.  Use C89 prototype for alloca; this
22447         requires including <stddef.h> for size_t.  Use extern "C" if C++.
22448         Use #elif for simplicity, since we can assume C89 now.
22449         Don't try to source the system alloca.h since it will not be found
22450         and to prevent recursively including its replacement.
22451         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
22452         * lib/regex.c: Likewise.
22453
22454 2004-05-16  Derek Price  <derek@ximbiot.com>
22455             Paul Eggert  <eggert@cs.ucla.edu>
22456
22457         getline cleanup.  This changes the getndelim2 API: both order of
22458         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
22459         no delimiter).
22460
22461         * lib/getline.c: Don't include stddef.h or stdio.h, since our
22462         interface does that.
22463         (getline): Always use getdelim, so that we don't have two
22464         copies of this code.
22465         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
22466         if available.
22467         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
22468         (GETNDELIM2_MAXIMUM): New macro.
22469         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
22470         instead of the old practice of delim2==0.  All callers changed.
22471         Return -1 on overflow, instead of returning junk.
22472         Do not set *linesize unless allocation succeeds.
22473         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
22474         that we include sys/types.h.
22475         * lib/getnline.h: Likewise.
22476         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
22477         (getndelim2): Reorder arguments.
22478         * lib/getnline.c (getnline, getndelim):
22479         Don't discard the NMAX argument.
22480         (getnline): Invoke getndelim, to avoid code duplication.
22481         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
22482         of (size_t) -1 by callers of the getnline family.
22483
22484 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
22485
22486         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
22487         Check for gettimeofday.
22488         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
22489         Check for settimeofday, stime.
22490
22491 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
22492
22493         * lib/nanosleep.c (suspended): Change its type from int to
22494         sig_atomic_t volatile.
22495         (first_call): Make it private to rpl_nanosleep, and have it
22496         be zero initially as that's a bit faster.
22497         (my_usleep): Round up fractional times instead of truncating them,
22498         as this is the usual meaning for 'sleep'.
22499
22500         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
22501         doesn't work.
22502         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
22503         (ENOSYS): Define if not defined.
22504         (settime): Fall back on stime if it exists and settimeofday fails.
22505         But don't bother with fallbacks if a method fails with errno == EPERM.
22506
22507 2004-05-11  Jim Meyering  <jim@meyering.net>
22508
22509         Prior to this change, the save_cwd caller required read access to the
22510         current directory on most systems (ones with the fchdir function).
22511
22512         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
22513         fails, try write-only, and finally, resort to using xgetcwd.
22514
22515 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
22516
22517         * lib/obstack.c, obstack.h: Import changes from libc.
22518
22519 2004-04-28  Bruno Haible  <bruno@clisp.org>
22520
22521         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
22522         also implicitly appends .exe to executables.
22523         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
22524         accepts Windows pathnames.
22525         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
22526         Treat Cygwin like Windows, since it now accepts Windows pathnames.
22527         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
22528         Treat Cygwin like Windows, since it now accepts Windows pathnames.
22529         Reported by Derek Robert Price <derek@ximbiot.com>.
22530
22531 2004-04-21  Karl Berry  <karl@gnu.org>
22532
22533         * config/srclist.txt (localcharset.c): break sync.
22534
22535 2004-04-20  Paul Eggert  <eggert@twinsun.com>
22536
22537         * m4/host-os.m4: Add a copyright notice.
22538
22539 2004-04-20  Jim Meyering  <jim@meyering.net>
22540
22541         Change UTILS_ to gl_ in AC_DEFINE'd names.
22542         Change utils_- and jm_-prefixed variables, too.
22543         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
22544         UTILS_FUNC_MKDIR_TRAILING_SLASH.
22545         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
22546
22547         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
22548         Don't emit trailing blanks.
22549         Also rename jm_-prefixed variables to have gl_ prefix.
22550
22551         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
22552         Also rename jm_-prefixed variables to have gl_ prefix.
22553
22554         * m4/jm-macros.m4: Reflect the renamings.
22555         * m4/prereq.m4: Likewise.
22556
22557 2004-04-20  Jim Meyering  <jim@meyering.net>
22558
22559         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
22560         memory.
22561
22562 2004-04-20  Jim Meyering  <jim@meyering.net>
22563             Bruno Haible  <bruno@clisp.org>
22564
22565         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
22566         memory when realloc fails.
22567
22568 2004-04-19  Jim Meyering  <jim@meyering.net>
22569
22570         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
22571         now that readutmp.c may call `free (0)'.
22572
22573 2004-04-19  Bruno Haible  <bruno@clisp.org>
22574
22575         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
22576         * m4/inttypes_h.m4: Likewise.
22577         * m4/stdint_h.m4: Likewise.
22578         * m4/intmax_t.m4: Likewise.
22579         * m4/uintmax_t.m4: Likewise.
22580
22581 2004-04-18  Jim Meyering  <jim@meyering.net>
22582
22583         * m4/prereq.m4: Don't forbid jm_ prefix.
22584
22585         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
22586         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
22587         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
22588         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
22589         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
22590         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
22591         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
22592         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
22593         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
22594         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
22595         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
22596         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
22597         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
22598         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
22599         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
22600         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
22601         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
22602         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
22603         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
22604
22605 2004-04-18  Jim Meyering  <jim@meyering.net>
22606
22607         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
22608         failure, don't leak memory and do call END_UTMP_ENT.
22609
22610 2004-04-16  Jim Meyering  <jim@meyering.net>
22611
22612         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
22613         coreutils' stat program.
22614         (gl_PREREQ): Don't require jm_PREREQ_STAT.
22615
22616 2004-04-11  Paul Eggert  <eggert@twinsun.com>
22617
22618         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
22619         C89.
22620         (CHAR_BIT): Remove, since we assume C89.
22621         Include <stdint.h> if available, as per current Autoconf CVS advice.
22622
22623 2004-03-31  Jim Meyering  <jim@meyering.net>
22624
22625         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
22626         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
22627         * m4/xalloc.m4: Likewise.
22628
22629 2004-03-30  Paul Eggert  <eggert@twinsun.com>
22630
22631         Merge from coreutils.
22632
22633         * m4/inttostr.m4: New file.
22634         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
22635         Require AM_STDBOOL_H and gl_TIMESPEC instead.
22636         Require gl_CLOCK_TIME.
22637         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
22638
22639 2004-03-30  Paul Eggert  <eggert@twinsun.com>
22640
22641         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
22642         not bool, to be more consistent with Unix conventions.
22643         Suggested by Bruno Haible.
22644
22645         Merge from coreutils.
22646
22647         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
22648         * lib/umaxtostr.c: New files.
22649
22650         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
22651         the usual <time.h> dance.
22652         (get_date): Change signature to support fractional time stamps.
22653         All callers changed.
22654         * lib/getdate.y: Include "getdate.h" first, as we can now
22655         assume C89 and don't need to worry about 'const'.
22656         Similarly, include "unlocked-io.h" near start, not in middle.
22657         Include <limits.h>.
22658         (textint.value): Use long int rather than int.
22659         (textint.digits): Use size_t rather than int.
22660         (BILLION, LOG10_BILLION): New constants.
22661         (parser_control): New member rel_ns.  Members day_ordinal,
22662         time_zone, month, day, hour, minutes, rel_year, rel_month,
22663         rel_day, rel_hour, rel_minutes, rel_seconds
22664         are now long int, not int.  Member seconds is now struct timespec,
22665         not int.  New member timespec_seen.  Members dates_seen, days_seen,
22666         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
22667         not int.
22668         (%union.intval): Now long int, not int.
22669         New member timespec.
22670         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
22671         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
22672         (spec): Now is a timespec or an item list.
22673         (timespec, items): New nonterminals.
22674         (time, rel, relunit, number, get_date):
22675         Add support for fractional seconds.
22676         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
22677         (gmtime, localtime, mktime): Remove decls; not needed with C89.
22678         (to_hour): First arg is now long int, not int.
22679         (to_year): Returns long int, not int.
22680         Don't treat year -70 like 70.
22681         (tm_diff): Returns long int, not int.
22682         (lookup_word): Use bool instead of int when appropriate.
22683         (yylex): Use size_t for count, not int.
22684         Detect overflow when parsing large integer constants.
22685         Add support for fractions.
22686         (get_date): Make pointers 'const' if possible.
22687         Use more-portable code to detect integer overflow.
22688         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
22689         Don't use ctime; it's not reliable if the year has >4 digits.
22690
22691         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
22692         This is for compatibility with BSD.
22693
22694         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
22695         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
22696         From coreutils' system.h.
22697
22698         * lib/userspec.c: Don't include "posixver.h".
22699         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
22700         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
22701         compatible extension.  Simplify code by removing a boolean int
22702         that was always nonzero if a string was nonnull.
22703
22704 2004-03-30  Jim Meyering  <jim@meyering.net>
22705
22706         Merge from coreutils.
22707
22708         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
22709         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
22710         on some systems one must include <grp.h> before it.
22711         Reported by Christian Krackowizer.
22712
22713 2004-03-30  Jim Meyering  <jim@meyering.net>
22714
22715         Merge from coreutils.
22716
22717         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
22718
22719         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
22720         an empty input stream.
22721
22722         * lib/readtokens.c: Include <stdbool.h>.
22723         (readtoken): Use `size_t' rather than int/long.
22724         All callers adjusted.
22725         Use `bool' rather than `int' where appropriate.
22726         Use memset rather than an explicit loop.
22727         Use x2nrealloc rather than xrealloc.
22728         Allow the use of `\0' as a delimiter.
22729         (readtokens): Likewise.
22730         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
22731
22732 2004-03-30  Jim Meyering  <jim@meyering.net>
22733
22734         * m4/realloc.m4: Remove file, since now it does no more than
22735         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
22736         the `configure.ac' section of module/realloc.
22737         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
22738
22739 2004-03-30  Bruno Haible  <bruno@clisp.org>
22740
22741         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
22742         nonnull.
22743
22744 2004-03-29  Paul Eggert  <eggert@twinsun.com>
22745
22746         Merge changes to getloadavg.c from coreutils and Emacs.
22747
22748         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
22749         Define to an expression, not to the empty string.
22750         Include cloexec.h and xalloc.h.
22751         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
22752         Use set_cloexec_flag rather than rolling our own.
22753         * lib/cloexec.c, lib/cloexec.h: New files.
22754
22755 2004-03-29  Paul Eggert  <eggert@twinsun.com>
22756
22757         * m4/cloexec.m4: New file.
22758
22759 2004-03-18  Paul Eggert  <eggert@twinsun.com>
22760
22761         * lib/getopt.h: Sync with libc CVS.
22762
22763 2004-03-18  Paul Eggert  <eggert@twinsun.com>
22764             Bruno Haible  <bruno@clisp.org>
22765
22766         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
22767         mbswidth.
22768
22769 2004-03-18  Paul Eggert  <eggert@twinsun.com>
22770             Bruno Haible  <bruno@clisp.org>
22771
22772         * lib/mbswidth.h: Include <wchar.h> only if
22773         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
22774         <wchar.h>.
22775         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
22776
22777 2004-03-09  Paul Eggert  <eggert@twinsun.com>
22778
22779         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
22780         Sync with libc CVS.
22781         * lib/getopt_int.h: New file, also synced from libc.
22782
22783 2004-03-09  Paul Eggert  <eggert@twinsun.com>
22784
22785         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
22786         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
22787         Bring back getopt.c, getopt.h, getopt1.c.
22788
22789 2004-03-07  Paul Eggert  <eggert@twinsun.com>
22790
22791         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
22792         All uses changed.  Check for sa_sigaction member; this fixes
22793         a bug first reported by Jason Andrade in
22794         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
22795
22796 2004-03-07  Paul Eggert  <eggert@twinsun.com>
22797
22798         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
22799         '#if' expressions.  Unlike the code it replaces, it does not
22800         depend on (defined _SC_PAGESIZE).  However, it does depend on
22801         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
22802         first reported by Jason Andrade in
22803         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
22804
22805 2004-02-25  Simon Josefsson  <jas@extundo.com>
22806
22807         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
22808
22809 2004-02-25  Simon Josefsson  <jas@extundo.com>
22810
22811         * lib/strdup.h: New file.
22812         * lib/strdup.c: Include it.
22813         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
22814         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
22815
22816 2004-02-23  Karl Berry  <karl@gnu.org>
22817
22818         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
22819         (from fencepost.gnu.org:/gd/gnuorg).
22820
22821 2004-02-23  Karl Berry  <karl@gnu.org>
22822
22823         * config/srclistvars.sh (GNUORG) [karl]: redefine.
22824         * config/srclist.txt: add maintain/standards documents.
22825
22826 2004-02-18  Bruno Haible  <bruno@clisp.org>
22827
22828         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
22829         Reported by Derek Robert Price <derek@ximbiot.com>.
22830
22831 2004-02-16  Karl Berry  <karl@gnu.org>
22832
22833         * config/mkinstalldirs, install-sh: update from automake.
22834
22835 2004-02-06  Karl Berry  <karl@gnu.org>
22836
22837         * m4/po.m4: update from gettext 0.14.1.
22838
22839 2004-02-06  Karl Berry  <karl@gnu.org>
22840
22841         * lib/config.charset: update from gettext 0.14.1.
22842
22843 2004-02-05  Paul Eggert  <eggert@twinsun.com>
22844
22845         Add comments and code, prompted by suggestions from Bruno Haible
22846         for sh-quote.
22847         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
22848         describing the enum quoting_style values.
22849         * lib/quotearg.c (quotearg_alloc): New function.
22850         (quotearg_buffer_restyled): Treat lone { and } as special.
22851         Treat = as special.  Work around bug with older shells
22852         that "see" a '\' that is really the 2nd byte of a multibyte char.
22853         Quote empty string with shell_quoting_style.
22854
22855 2004-02-03  Bruno Haible  <bruno@clisp.org>
22856
22857         * m4/pipe.m4: New file, from GNU gettext.
22858
22859 2004-02-03  Bruno Haible  <bruno@clisp.org>
22860
22861         * lib/pipe.h: New file, from GNU gettext.
22862         * lib/pipe.c: New file, from GNU gettext.
22863
22864 2004-01-27  Bruno Haible  <bruno@clisp.org>
22865
22866         * m4/execute.m4: New file, from GNU gettext.
22867
22868 2004-01-27  Bruno Haible  <bruno@clisp.org>
22869
22870         * lib/execute.h: New file, from GNU gettext.
22871         * lib/execute.c: New file, from GNU gettext.
22872         * lib/w32spawn.h: New file, from GNU gettext.
22873
22874 2004-01-24  Paul Eggert  <eggert@twinsun.com>
22875
22876         Merge from diffutils.
22877
22878         * lib/file-type.c (file_type): Add typed memory objects.
22879         * lib/file-type.h (S_TYPEISTMO): New macro.
22880
22881         * lib/c-stack.h (c_stack_action): Remove argv argument.
22882         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
22883         (die): Don't calculate message unless segv_action returns.
22884         (get_stack_location, min_address_from_argv, max_address_from_argv,
22885         volatile stack_base, volatile_stack_size): Remove.
22886         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
22887         that every segmentation violation is a stack overflow.  (Ouch!)
22888         See Debian bug 136249 (still outstanding) for more info about why
22889         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
22890
22891 2004-01-24  Paul Eggert  <eggert@twinsun.com>
22892
22893         Exit-status fix from coreutils.
22894
22895         Use exit_failure consistently in place of EXIT_FAILURE,
22896         so that program exit statuses are consistent on failure.
22897
22898         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
22899         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
22900         * lib/argmatch.h: Comment fix to match the above.
22901         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
22902         Now a macro referring to exit_failure, instead of a separate
22903         variable.  Include "exitfail.h" to get it.
22904         * lib/xstrtol.h: Include "exitfail.h".
22905         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
22906
22907         * lib/long-options.c (parse_long_options): Use prototype
22908         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
22909         for clarity.
22910
22911 2004-01-21  Jim Meyering  <jim@meyering.net>
22912
22913         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
22914         so as not to conflict with a different-sized __mktime_internal
22915         function in GNU libc.
22916         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
22917         Problem building statically-linked `ls' reported by Michael Brunnbauer.
22918
22919 2004-01-20  Karl Berry  <karl@gnu.org>
22920
22921         * config/config.guess: update from config.
22922
22923         * config/srclistvars.sh: GNUWWWLICENSES for karl.
22924
22925 2004-01-20  Bruno Haible  <bruno@clisp.org>
22926
22927         Safer stack allocation.
22928         * lib/setenv.c: Include allocsa.h.
22929         (alloca): Remove fallback definition.
22930         (freea): Remove macro.
22931         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
22932         instead of freea.
22933
22934 2004-01-20  Bruno Haible  <bruno@clisp.org>
22935
22936         * m4/eealloc.m4: New file, from GNU gettext.
22937
22938 2004-01-20  Bruno Haible  <bruno@clisp.org>
22939
22940         * m4/allocsa.m4: New file, from GNU gettext.
22941
22942 2004-01-20  Bruno Haible  <bruno@clisp.org>
22943
22944         * lib/xallocsa.h: New file, from GNU gettext.
22945         * lib/xallocsa.c: New file, from GNU gettext.
22946
22947 2004-01-20  Bruno Haible  <bruno@clisp.org>
22948
22949         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
22950
22951 2004-01-20  Bruno Haible  <bruno@clisp.org>
22952
22953         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
22954         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
22955         specially.
22956
22957 2004-01-20  Bruno Haible  <bruno@clisp.org>
22958
22959         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
22960         patch.
22961
22962 2004-01-20  Bruno Haible  <bruno@clisp.org>
22963
22964         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
22965
22966 2004-01-20  Bruno Haible  <bruno@clisp.org>
22967
22968         * lib/eealloc.h: New file.
22969
22970 2004-01-20  Bruno Haible  <bruno@clisp.org>
22971
22972         * lib/binary-io.h: Avoid warnings on Cygwin.
22973
22974 2004-01-20  Bruno Haible  <bruno@clisp.org>
22975
22976         * lib/allocsa.h: New file, from GNU gettext.
22977         * lib/allocsa.c: New file, from GNU gettext.
22978
22979 2004-01-18  Karl Berry  <karl@gnu.org>
22980
22981         * doc/gpl.texi, doc/lgpl.texi: new files.
22982
22983 2004-01-18  Karl Berry  <karl@gnu.org>
22984
22985         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
22986         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
22987
22988 2004-01-15  Paul Eggert  <eggert@twinsun.com>
22989
22990         Merge from coreutils.
22991
22992         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
22993         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
22994         (gl_DEFAULT_POSIX2_VERSION): Move
22995         the documentation from 'configure' into 'config.hin',
22996         so that 'configure --help' isn't burdened by it and
22997         we don't have to worry about its formatting there.
22998         Reword the documentation so that it's more succinct
22999         and can be run together into a single paragraph.
23000         * m4/same.m4 (gl_SAME): Check for pathconf.
23001
23002 2004-01-15  Paul Eggert  <eggert@twinsun.com>
23003
23004         Merge from coreutils.
23005
23006         * lib/posixver.c: Include posixver.h.
23007
23008         * lib/same.c: Include <stdbool.h>, <limits.h>.
23009         (_POSIX_NAME_MAX): Define if not defined.
23010         (MIN): New macro.
23011         (same_name): If file names are silently truncated, report
23012         that the file names are the same if they are the same after
23013         the silent truncation.
23014
23015         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
23016         conversion function.
23017         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
23018         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
23019         longer needed.
23020
23021 2004-01-15  Jim Meyering  <jim@meyering.net>
23022
23023         Merge from coreutils.
23024
23025         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
23026         if no library is required.
23027         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
23028         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
23029         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
23030         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
23031         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
23032         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
23033         value, $ac_cv_search_crypt, if it's "none required".
23034         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
23035         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
23036         not gl_FUNC_GETLOADAVG.
23037         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
23038         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
23039
23040 2004-01-15  Jim Meyering  <jim@meyering.net>
23041
23042         Merge from coreutils.
23043
23044         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
23045         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
23046         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
23047
23048         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
23049         optional configure-time default.
23050
23051         * lib/version-etc.c (version_etc_copyright): Update copyright date.
23052
23053         * lib/xreadlink.c (xreadlink): Correct outdated comment.
23054
23055 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
23056
23057         Merge from coreutils.
23058
23059         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
23060         value, $ac_cv_search_nanosleep, if it's "none required".
23061
23062 2004-01-14  Paul Eggert  <eggert@twinsun.com>
23063
23064         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
23065         with like-named macro in fnmatch.c.
23066         (EXT): Use an internal constant instead.
23067
23068         Merge fnmatch patches from glibc.
23069         * lib/fnmatch.c (mbsinit): Remove define.
23070         Add libc_hidden_ver (__fnmatch, fnmatch).
23071         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
23072         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
23073
23074 2004-01-14  Karl Berry  <karl@gnu.org>
23075
23076         * config/install-sh: update from automake.
23077
23078 2004-01-13  Karl Berry  <karl@gnu.org>
23079
23080         * config/install-sh: update from automake.
23081
23082 2004-01-09  Karl Berry  <karl@gnu.org>
23083
23084         * config/install-sh: update from automake.
23085
23086 2004-01-05  Karl Berry  <karl@gnu.org>
23087
23088         * config/config.{sub,guess}: update from config.
23089
23090 2003-12-31  Karl Berry  <karl@gnu.org>
23091
23092         * config/depcomp: update from automake.
23093
23094 2003-12-14  Karl Berry  <karl@gnu.org>
23095
23096         * lib/config.charset: update from gettext-runtime.
23097
23098 2003-12-03  Paul Eggert  <eggert@twinsun.com>
23099
23100         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
23101         Bug reported by Alfred M. Szmidt.
23102
23103 2003-12-03  Bruno Haible  <bruno@clisp.org>
23104
23105         * m4/gettext.m4: Upgrade from gettext-0.13.
23106         * m4/po.m4: Upgrade from gettext-0.13.
23107         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
23108         * m4/intmax.m4: New file, from gettext-0.13.
23109         * m4/printf-posix.m4: New file, from gettext-0.13.
23110
23111 2003-11-29  Karl Berry  <karl@gnu.org>
23112
23113         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
23114
23115 2003-11-25  Paul Eggert  <eggert@twinsun.com>
23116             Bruno Haible  <bruno@clisp.org>
23117
23118         * lib/printf-parse.h: Don't include sys/types.h.
23119         (ARG_NONE): New macro.
23120         (char_directive): Change type of *arg_index fields to size_t.
23121         * lib/printf-parse.c: Don't include sys/types.h.
23122         (SSIZE_MAX): Remove macro.
23123         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
23124         Remove unnecessary overflow check.
23125         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
23126         fields.
23127
23128 2003-11-25  Bruno Haible  <bruno@clisp.org>
23129
23130         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
23131
23132 2003-11-25  Bruno Haible  <bruno@clisp.org>
23133
23134         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
23135         gt_TYPE_SSIZE_T.
23136
23137 2003-11-24  Paul Eggert  <eggert@twinsun.com>
23138
23139         * modules/alloca: Remove dependency on xalloc.
23140
23141 2003-11-24  Paul Eggert  <eggert@twinsun.com>
23142
23143         * lib/alloca.c: Remove dependency on xalloc module.
23144         (xalloc_die): Remove.
23145         (memory_full) [!defined emacs]: New macro.
23146         [!defined emacs]: Don't include xalloc.h.
23147         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
23148         address arithmetic overflows.  Change datatypes a bit to avoid
23149         unnecessary casts.
23150
23151 2003-11-22  Jim Meyering  <jim@meyering.net>
23152
23153         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
23154         s/size/size_t/.
23155
23156 2003-11-21  Karl Berry  <karl@gnu.org>
23157
23158         * config/config.{sub,guess}: update from config.
23159
23160 2003-11-18  Karl Berry  <karl@gnu.org>
23161
23162         * config/config.{sub,guess}: update from config.
23163
23164         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
23165
23166 2003-11-17  Paul Eggert  <eggert@twinsun.com>
23167
23168         * README: Mention that S+T cannot overflow if S is the size of
23169         an existing object and T is sufficiently small.
23170
23171 2003-11-17  Jim Meyering  <jim@meyering.net>
23172
23173         On systems without utime and without a utimes function capable of
23174         dealing with a NULL struct utimbuf* argument, this utime replacement
23175         could -- in unusual circumstances -- leak a file descriptor.
23176         * lib/utime.c: Include <unistd.h> and <errno.h>.
23177         (utime_null): Be sure to close `fd' and to preserve errno.
23178         Reported by Geoff Collyer via Arnold Robbins.
23179
23180 2003-11-17  Bruno Haible  <bruno@clisp.org>
23181
23182         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
23183         (Depends-on): Add xsize.
23184
23185 2003-11-17  Bruno Haible  <bruno@clisp.org>
23186
23187         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
23188
23189 2003-11-17  Bruno Haible  <bruno@clisp.org>
23190
23191         * lib/vasnprintf.c (alloca): Remove fallback definition.
23192         (freea): Remove definition.
23193         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
23194         Reported by Paul Eggert.
23195
23196 2003-11-16  Paul Eggert  <eggert@twinsun.com>
23197             Bruno Haible  <bruno@clisp.org>
23198
23199         Protect against address arithmetic overflow.
23200         * lib/printf-args.h: Include stddef.h.
23201         (arguments): Change type of field 'count' to size_t.
23202         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
23203         'unsigned int' where appropriate.
23204         * lib/printf-parse.h: Include sys/types.h.
23205         (char_directive): Change type of *arg_index fields to ssize_t.
23206         (char_directives): Change type of fields 'count', max_*_length to
23207         size_t.
23208         * lib/printf-parse.c: Include sys/types.h and xsize.h.
23209         (SSIZE_MAX): Define fallback value.
23210         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
23211         instead of 'int' where appropriate. Check a_allocated, d_allocated
23212         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
23213         * lib/vasnprintf.c: Include xsize.h.
23214         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
23215         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
23216         overflow. Avoid wraparound when converting a width or precision from
23217         decimal to binary.
23218
23219 2003-11-16  Bruno Haible  <bruno@clisp.org>
23220
23221         Update from GNU gettext.
23222         * lib/printf-parse.c: Generalize to it can be compiled for wide
23223         strings.
23224         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
23225         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
23226         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
23227         SNPRINTF): New macros.
23228         Don't include <alloca.h> if the file is used inside libintl.
23229         (local_wcslen): New function, for Solaris 2.5.1.
23230         (VASNPRINTF): Use it instead of wcslen.
23231
23232 2003-11-16  Bruno Haible  <bruno@clisp.org>
23233
23234         * lib/xsize.h (xmax): New function.
23235         (xsum, xsum3, xsum4): Declare as "pure" functions.
23236
23237 2003-11-12  Paul Eggert  <eggert@twinsun.com>
23238
23239         * modules/xalloc (Files): Undo latest change, since xalloc.h
23240         no longer needs SIZE_MAX or PTRDIFF_MAX.
23241
23242 2003-11-12  Paul Eggert  <eggert@twinsun.com>
23243
23244         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
23245         gl_PTRDIFF_MAX.
23246
23247 2003-11-12  Paul Eggert  <eggert@twinsun.com>
23248
23249         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
23250         "return", to pacify some unknown compiler.  Problem reported
23251         by Joerg Schilling.
23252
23253 2003-11-12  Paul Eggert  <eggert@twinsun.com>
23254
23255         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
23256         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
23257         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
23258         heuristic is just as accurate as far as we know, and it removes a
23259         dependency on size_max.m4 and ptrdiff_max.m4.
23260
23261 2003-11-11  Bruno Haible  <bruno@clisp.org>
23262
23263         * modules/xsize (Files): Add m4/size_max.m4.
23264         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
23265
23266 2003-11-11  Bruno Haible  <bruno@clisp.org>
23267
23268         * m4/size_max.m4: New file.
23269         * m4/ptrdiff_max.m4: New file.
23270         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
23271         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
23272         (gl_XALLOC): Invoke it.
23273
23274 2003-11-11  Bruno Haible  <bruno@clisp.org>
23275
23276         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
23277         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
23278         defined.
23279
23280 2003-11-10  Paul Eggert  <eggert@twinsun.com>
23281
23282         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
23283         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
23284         rejected some allocations of exactly SIZE_MAX - 2 bytes.
23285         From Bruno Haible.
23286         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
23287         not (size_t) -1, since it's defined here.
23288
23289 2003-11-09  Karl Berry  <karl@gnu.org>
23290
23291         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
23292
23293 2003-11-06  Paul Eggert  <eggert@twinsun.com>
23294
23295         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
23296         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
23297         Reject sizes of exactly SIZE_MAX bytes.
23298         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
23299         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
23300
23301 2003-11-05  Bruno Haible  <bruno@clisp.org>
23302
23303         * lib/xsize.h: Include limits.h, to avoid a possible collision with
23304         SIZE_MAX defined in <limits.h> on Solaris.
23305
23306 2003-11-04  Jim Meyering  <jim@meyering.net>
23307
23308         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
23309         variable names, rather than @VAR@.
23310         * modules/poll: Likewise.
23311
23312 2003-11-04  Bruno Haible  <bruno@clisp.org>
23313
23314         * modules/xsize: New file.
23315         * modules/linebreak: Depend on xsize.
23316         * MODULES.html.sh (func_all_modules): Add xsize.
23317
23318 2003-11-04  Bruno Haible  <bruno@clisp.org>
23319
23320         * m4/xsize.m4: New file.
23321
23322 2003-11-04  Bruno Haible  <bruno@clisp.org>
23323
23324         * lib/xsize.h: New file.
23325         * lib/linebreak.c: Include xsize.h.
23326         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
23327         argument for overflow.
23328         Suggested by Paul Eggert.
23329
23330 2003-11-03  Karl Berry  <karl@gnu.org>
23331
23332         * config/config.{guess,sub}: update from config.
23333
23334 2003-11-03  Jim Meyering  <jim@meyering.net>
23335
23336         * modules/userspec (lib_SOURCES): Add userspec.h.
23337         (Include): Add "userspec.h".
23338         Improve description.
23339
23340 2003-11-03  Jim Meyering  <jim@meyering.net>
23341
23342         * lib/userspec.c: Include "userspec.h".
23343         * lib/userspec.h: New file.
23344
23345 2003-11-03  Bruno Haible  <bruno@clisp.org>
23346
23347         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
23348
23349 2003-11-03  Bruno Haible  <bruno@clisp.org>
23350
23351         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
23352         available, to avoid (extremely rare) race condition.
23353         Suggested by Paul Eggert.
23354
23355 2003-11-02  Karl Berry  <karl@gnu.org>
23356
23357         * config/srclist.txt (vasprintf.c): sync broken, sigh.
23358
23359 2003-10-31  Paul Eggert  <eggert@twinsun.com>
23360
23361         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
23362         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
23363         (read_filesystem_list): Set and use me_type_malloced.
23364         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
23365         whatever the type happens to be), for brevity and consistency.
23366         Check for size calculation overflow on Alphas running OSF/1.
23367
23368 2003-10-31  Jim Meyering  <jim@meyering.net>
23369
23370         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
23371
23372         * lib/linebuffer.c: Include <string.h> for declaration of memset.
23373
23374 2003-10-30  Paul Eggert  <eggert@twinsun.com>
23375             Bruno Haible  <bruno@clisp.org>
23376
23377         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
23378         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
23379
23380 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
23381
23382         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
23383         netbsd*-gnu*.  Suggested by Robert Millan.
23384
23385 2003-10-29  Paul Eggert  <eggert@twinsun.com>
23386
23387         * modules/group-member: Depend on stdbool.
23388
23389 2003-10-29  Paul Eggert  <eggert@twinsun.com>
23390
23391         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
23392
23393 2003-10-29  Paul Eggert  <eggert@twinsun.com>
23394
23395         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
23396         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
23397         after the 'gnu' in these cases.  This fixes some bugs in the
23398         previous change, and is based on suggestions by Robert Millan.
23399
23400 2003-10-29  Paul Eggert  <eggert@twinsun.com>
23401
23402         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
23403         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
23404         no longer needed.
23405         * lib/quotearg.c (quotearg_n_options): Use it.
23406         * lib/group-member.c: Include <stdbool.h>.
23407         (free_group_info): Arg is now const *; don't free arg.
23408         (get_group_info): Now returns bool and accepts struct group_info *,
23409         rather than returning a malloc'ed struct group_info *.
23410         All uses changed.  Check for overflow in internal size calculation.
23411
23412         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
23413         rather than xmalloc/xrealloc.
23414         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
23415         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
23416         conformance bug: the old code used a pointer after freeing the
23417         storage that it addressed.
23418         * lib/hash.c (hash_initialize): Simplify the code by using
23419         xalloc_oversized rather than doing it by hand.
23420         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
23421         the buffer preserved.  Use free and xmalloc instead.
23422         * lib/quotearg.c (quotearg_n_options): Likewise.
23423         Use a simpler test for size overflow.  Don't use xalloc_oversized
23424         because unsigned int might be wider than size_t (!); this suggests
23425         that we should switch from unsigned int to size_t for slot numbers.
23426
23427 2003-10-28  Paul Eggert  <eggert@twinsun.com>
23428
23429         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
23430         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
23431         NetBSD kernels.  Requested by Richard Stallman.
23432
23433 2003-10-27  Paul Eggert  <eggert@twinsun.com>
23434
23435         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
23436         to allocate the returned structure.  Do not allocate a subarray,
23437         as x2nrealloc will do that.
23438         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
23439         instead of xnrealloc.
23440         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
23441
23442 2003-10-27  Bruno Haible  <bruno@clisp.org>
23443
23444         * lib/stdbool_.h: Better support for BeOS.
23445
23446 2003-10-26  Paul Eggert  <eggert@twinsun.com>
23447
23448         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
23449         now uses inline.
23450
23451 2003-10-26  Paul Eggert  <eggert@twinsun.com>
23452
23453         * lib/xalloc.h (xalloc_oversized): New static inline function, for
23454         callers that want to do their own size-overflow checking.  Include
23455         <stdbool.h>, since xalloc_oversized returns bool.
23456         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
23457         to use xalloc_oversized.
23458
23459         Add two functions x2realloc, x2nrealloc, for programs that grow
23460         arrays dynamically by doubling their sizes.
23461         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
23462         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
23463         New functions.
23464
23465         Port to C99 semantics for 'inline' of external functions.
23466         Bug reported by Bruno Haible.
23467         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
23468         with the old contents of xnmalloc.
23469         (xnmalloc, xmalloc): Use it.
23470         (xnrealloc_inline): New static inline function,
23471         with the old contents of xnrealloc.
23472         (xnrealloc, xrealloc): Use it.
23473
23474         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
23475         that.
23476
23477 2003-10-26  Karl Berry  <karl@gnu.org>
23478
23479         * config/srclist.txt (COPYING.DOC): no longer available from
23480         /gd/gnuorg; don't know where the ultimate source is.
23481
23482 2003-10-25  Paul Eggert  <eggert@twinsun.com>
23483
23484         Fix several address-calculation bugs in the hash modules,
23485         plus some minor code cleanup.
23486
23487         * lib/hash.h: Include <stdbool.h>, for bool.
23488         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
23489         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
23490         hash_get_n_entries, hash_get_max_bucket_length,
23491         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
23492         hash_rehash): Use size_t rather than unsigned.
23493         * lib/hash.c (struct hash_table, hash_get_n_buckets,
23494         hash_get_n_buckets_used, hash_get_n_entries,
23495         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
23496         hash_get_entries, hash_do_for_each, hash_string, is_prime,
23497         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
23498         Likewise.
23499         (SIZE_MAX): Define if not defined.
23500         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
23501         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
23502         hash_print):
23503         Use const * when possible.
23504         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
23505         (check_tuning): Fix bug: if tuning parameters were very close to
23506         0 or 1, rounding errors could have caused subscript violations.
23507         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
23508         (hash_initialize): Add 'fail:' label
23509         to free table and return NULL, and use it to simplify code.
23510         Use calloc rather than clearing the storage ourself.
23511         (hash_initialize, hash_rehash): Check for arithmetic overflow in
23512         buffer size calculations.
23513         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
23514         Include <stddef.h>, for size_t.
23515         * lib/hash-pjw.c (hash_pjw): Likewise.
23516         Switch to method described by Bruno Haible.
23517         Include <limits.h>, for CHAR_BIT.
23518         (SIZE_BITS): New macro.
23519
23520 2003-10-23  Paul Eggert  <eggert@twinsun.com>
23521
23522         * m4/getline.m4 (AM_FUNC_GETLINE):
23523         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
23524         hosts.  Problem reported by Derek Robert Price in
23525         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
23526         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
23527         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
23528
23529 2003-10-21  Paul Eggert  <eggert@twinsun.com>
23530
23531         * lib/getndelim2.c (getndelim2): When size calculation overflows,
23532         ceiling the allocation at NMAX bytes rather than silently
23533         discarding input bytes before NMAX is reached.  This makes
23534         a difference only if NMAX exceeds SIZE_MAX / 2.
23535
23536         * lib/obstack.c: Merge from glibc.
23537         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
23538         Add libc_hidden_def (_obstack_newchunk).
23539         (_obstack_free) [! defined _LIBC]: Remove.
23540         [defined _LIBC]: Make a strong alias from obstack_free, rather than
23541         a clone of the function body.
23542         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
23543         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
23544
23545         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
23546         glibc.
23547         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
23548         arg to memcpy.
23549
23550         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
23551         (obstack_ptr_grow_fast, obstack_int_grow_fast):
23552         Don't use lvalue casts, as GCC plans to remove support for them
23553         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
23554         was also present in the non-GCC version, indicating that this
23555         code had always been buggy and had never been widely used.
23556         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
23557         Use the fast variant of each macro, rather than copying the
23558         definiens of the fast variant; that way, we'll be more likely to
23559         catch future bugs in the fast variants.
23560
23561 2003-10-20  Bruno Haible  <bruno@clisp.org>
23562
23563         * modules/wait-process: New file.
23564         * MODULES.html.sh (func_all_modules): Add wait-process.
23565
23566 2003-10-20  Bruno Haible  <bruno@clisp.org>
23567
23568         * m4/wait-process.m4: New file.
23569
23570 2003-10-20  Bruno Haible  <bruno@clisp.org>
23571
23572         * lib/wait-process.h: New file, from GNU gettext.
23573         * lib/wait-process.c: New file, from GNU gettext.
23574
23575 2003-10-19  Jim Meyering  <jim@meyering.net>
23576
23577         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
23578         HPUX 10.20.
23579
23580 2003-10-18  Karl Berry  <karl@gnu.org>
23581
23582         * config/config.guess: update from config.
23583
23584 2003-10-16  Paul Eggert  <eggert@twinsun.com>
23585
23586         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
23587         (getgroups): First arg is int, not size_t.
23588         Don't let 'free' mangle errno.
23589
23590 2003-10-16  Paul Eggert  <eggert@twinsun.com>
23591
23592         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
23593
23594 2003-10-16  Karl Berry  <karl@gnu.org>
23595
23596         * config/config.{guess,sub}: update from config.
23597
23598 2003-10-16  Jim Meyering  <jim@meyering.net>
23599
23600         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
23601         memcpy.
23602
23603 2003-10-15  Paul Eggert  <eggert@twinsun.com>
23604
23605         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
23606         (SIZE_MAX): Remove.
23607         (new_exclude, add_exclude_file): Initial size no longer needs to
23608         be a power of 2.
23609         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
23610         our own address arithmetic overflow checking.
23611
23612         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
23613         (fnmatch): Do not alloca more than 2000 wide characters;
23614         instead, use malloc for large buffers.
23615         Check for address arithmetic overflow, and return -1
23616         with errno set to ENOMEM in that case.
23617         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
23618         (NEW_PATTERN): Do not alloca more than 8000 bytes;
23619         instead, return -1.  Check for address arithmetic overflow.
23620
23621 2003-10-14  Paul Eggert  <eggert@twinsun.com>
23622
23623         Handle invalid suffixes and overflow independently, so that
23624         callers can treat them independently as needed.  Fix some bugs in
23625         suffix handling, e.g., "100k@" was not diagnosed as an invalid
23626         suffix for a human-readable blocksize.  The major caller-visible
23627         change is the addition of a new
23628         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
23629         that both overflow and suffix chars were found.
23630
23631         * lib/human.c (humblock): Don't check separately for invalid suffix
23632         char; that is xstrtoumax's job (now that its bug is fixed).
23633         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
23634         INTMAX_MAX]: New macros.
23635         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
23636         TYPE_MAXIMUM): New macros.
23637         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
23638         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
23639         if overflow occurs, as it's what __strtol does and it's more useful
23640         in practice.
23641         (__xstrtol): If __strtol reports some error other than ERANGE,
23642         reflect it to the caller as LONGINT_INVALID.  If it reports
23643         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
23644         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
23645         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
23646         value.
23647         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
23648         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
23649         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
23650         [defined UINTMAX_MAX]: New macros.
23651
23652 2003-10-14  Bruno Haible  <bruno@clisp.org>
23653
23654         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
23655
23656 2003-10-14  Bruno Haible  <bruno@clisp.org>
23657
23658         * m4/sig_atomic_t: New file, from GNU gettext.
23659         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
23660
23661 2003-10-14  Bruno Haible  <bruno@clisp.org>
23662
23663         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
23664         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
23665         Also use volatile where needed.
23666
23667 2003-10-12  Paul Eggert  <eggert@twinsun.com>
23668
23669         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
23670         Change maintainer from Bruno Haible to 'all'.
23671
23672 2003-10-12  Paul Eggert  <eggert@twinsun.com>
23673
23674         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
23675
23676 2003-10-12  Paul Eggert  <eggert@twinsun.com>
23677
23678         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
23679         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
23680         and define in terms of the other primitives.
23681         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
23682         (SIZE_MAX): Define if not already defined.
23683         (array_size_overflow): New function.
23684         (xalloc_die): Abort instead of exiting if 'error' returns.
23685         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
23686         (xmalloc, xrealloc): Use them.
23687         (xcalloc): Check for address arithmetic overflow.
23688         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
23689         a bit faster than strcpy.
23690
23691 2003-10-10  Simon Josefsson  <jas@extundo.com>
23692
23693         * modules/argp (Depends-on): Add restrict and strcase.
23694
23695 2003-10-10  Simon Josefsson  <jas@extundo.com>
23696
23697         * m4/argp.m4: Add AC_C_INLINE.
23698
23699 2003-10-08  Paul Eggert  <eggert@twinsun.com>
23700
23701         Merge getpass from libc, plus a few fixes.
23702
23703         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
23704         Include <stdbool.h>.
23705         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
23706         __fsetlocking to empty.
23707         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
23708         do include <bits/libc-lock.h>.
23709         Do not include <fcntl.h>; not needed.
23710         [_LIBC]: Include <wchar.h>.
23711         (NOTCANCEL_MODE): New macro.
23712         (flockfile, funlockfile) [_LIBC]: New macros.
23713         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
23714         [!_LIBC]: New macros.
23715         (call_fclose): New function.
23716         (getpass): Use it.  Save tty stream separately; this simplifies the
23717         code and makes it more reliable if stdin happens to equal stdout.
23718         Invoke __fsetlocking on tty.
23719         Handle thread cancellation if needed.
23720         Namespace cleanup (use __tcgetattr, __getline).
23721         Use bool for Booleans.
23722         [USE_IN_LIBIO]: Handle wide streams.
23723         [!_LIBC]: Unconditionally do the fseek, since we don't know what
23724         stream might go where.
23725
23726         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
23727         doesn't have to include <stdio.h> before us.
23728         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
23729         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
23730         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
23731         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
23732         if not declared, so that we can use getpass.c code from libc without
23733         rewriting it.
23734         (flockfile, ftrylockfile, funlockfile): New macros.
23735
23736 2003-10-08  Paul Eggert  <eggert@twinsun.com>
23737
23738         * modules/getpass: Depend on stdbool.
23739
23740 2003-10-08  Paul Eggert  <eggert@twinsun.com>
23741
23742         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
23743
23744 2003-10-07  Karl Berry  <karl@gnu.org>
23745
23746         * config/config.{guess,sub}: update from config.
23747
23748 2003-10-06  Jim Meyering  <jim@meyering.net>
23749             Bruno Haible  <bruno@clisp.org>
23750
23751         This lets translators provide better translations for the
23752         "Written by ..." part of --version output.
23753         * lib/version-etc.h: Include stdarg.h.
23754         (version_etc_copyright): Declare as readonly.
23755         (version_etc): Make this function variadic with a NULL-terminated list
23756         of author name strings.
23757         (version_etc_va): New declaration.
23758         * lib/version-etc.c: Include stdarg.h, stdlib.h.
23759         (version_etc_copyright): Declare as readonly.
23760         (version_etc_va): New function. Provide a different translatable string
23761         for each possible number of authors < 10. Abbreviate when there are 10
23762         authors or more.
23763         (version_etc): Make this function variadic. Call version_etc_va.
23764         Suggestion from Gary V. Vaughan.
23765
23766         * lib/long-options.h (parse_long_options): Change prototype: the
23767         authors string is moved to the end and becomes variadic.
23768         * lib/long-options.c: Include stdarg.h.
23769         (parse_long_options): Make this function variadic, too.
23770         Call version_etc_va, not version_etc.
23771
23772 2003-10-06  Bruno Haible  <bruno@clisp.org>
23773
23774         * modules/version-etc-2: Remove file.
23775         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
23776
23777 2003-10-06  Bruno Haible  <bruno@clisp.org>
23778
23779         * modules/fatal-signal: New file.
23780         * MODULES.html.sh (func_all_modules): Add fatal-signal.
23781
23782 2003-10-06  Bruno Haible  <bruno@clisp.org>
23783
23784         * m4/fatal-signal.m4: New file.
23785         * m4/signalblocking.m4: New file, from GNU gettext.
23786
23787 2003-10-06  Bruno Haible  <bruno@clisp.org>
23788
23789         * lib/version-etc-2.h: Remove file.
23790         * lib/version-etc-2.c: Remove file.
23791
23792 2003-10-06  Bruno Haible  <bruno@clisp.org>
23793
23794         * lib/fatal-signal.h: New file, from GNU gettext.
23795         * lib/fatal-signal.c: New file, from GNU gettext.
23796
23797 2003-10-05  Paul Eggert  <eggert@twinsun.com>
23798
23799         * README: Rework advice for preventing empty .o files.
23800         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
23801         not <sys/types.h>.
23802
23803 2003-10-04  Karl Berry  <karl@gnu.org>
23804
23805         * lib/argp*: update from libc.
23806
23807 2003-10-04  Karl Berry  <karl@gnu.org>
23808
23809         * config/config.{guess,sub}: update from config.
23810
23811 2003-10-02  Bruno Haible  <bruno@clisp.org>
23812
23813         * modules/lchown (Include): Add lchown.h.
23814         * modules/time_r (Include): Use "..." syntax.
23815         * modules/xgetdomainname (Include): Add xgetdomainname.h.
23816
23817 2003-10-01  Simon Josefsson  <jas@extundo.com>
23818
23819         * MODULES.html.sh (func_all_modules): Move gethostname from section
23820         'based on' to section 'lacking' POSIX:2001.
23821
23822 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
23823
23824         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
23825         to output mode on the same stream.
23826
23827 2003-09-29  Paul Eggert  <eggert@twinsun.com>
23828
23829         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
23830         Fix arg typo in previous patch.
23831
23832 2003-09-28  Jim Meyering  <jim@meyering.net>
23833
23834         * lib/error.c: Correct cpp indentation.
23835
23836 2003-09-27  Paul Eggert  <eggert@twinsun.com>
23837
23838         * modules/free: New file.
23839
23840 2003-09-27  Paul Eggert  <eggert@twinsun.com>
23841
23842         * m4/free.m4: New file.
23843
23844 2003-09-27  Paul Eggert  <eggert@twinsun.com>
23845
23846         * lib/minmax.h (MIN, MAX)
23847         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
23848         Omit the special code that used __typeof__, since we worry that
23849         it could be more trouble than it's worth.  See:
23850         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
23851         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
23852
23853         * lib/free.c: New file.
23854
23855 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
23856
23857         Trivial fixes to Makefile.am parts of module listings.
23858         * modules/strstr: Append strstr.h to lib_SOURCES.
23859         * modules/strcase: Likewise, for strcase.h.
23860
23861 2003-09-27  Karl Berry  <karl@gnu.org>
23862
23863         * config/mkinstalldirs: update from automake.
23864
23865 2003-09-26  Paul Eggert  <eggert@twinsun.com>
23866
23867         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
23868         (error_tail): Do not loop, reallocating temporary buffer, since
23869         the output cannot contain more wide characters than the input
23870         contains bytes, the size must be big enough already.  This avoids
23871         one potential size overflow calculation.  Check for size overflow
23872         when calculating temporary buffer size.  Free temporary buffer
23873         when done, if it was allocated with malloc; this plugs a memory
23874         leak.  Remove casts from void * to pointers, that are no longer
23875         needed now that we're assuming C89 or better.
23876
23877         Merge error changes from glibc.
23878
23879         * lib/error.c, error.h: Update copyright notice header to match glibc.
23880         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
23881         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
23882         Disable cancellation while printing error.
23883         * lib/error.h: Prepend __ to parameter names.
23884
23885 2003-09-26  Jim Meyering  <jim@meyering.net>
23886
23887         * lib/error.c (error_tail): Move some declarations
23888         into inner scope where the local variables are used.
23889
23890 2003-09-26  Bruno Haible  <bruno@clisp.org>
23891
23892         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
23893         stpncpy().
23894         Don't define stpncpy through config.h; it's now done through stpncpy.h.
23895
23896 2003-09-26  Bruno Haible  <bruno@clisp.org>
23897
23898         * lib/stpncpy.h (gnu_stpncpy): New declaration.
23899         (stpncpy): Define as alias for gnu_stpncpy.
23900         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
23901
23902 2003-09-25  Simon Josefsson  <jas@extundo.com>
23903
23904         * lib/xgetdomainname.h: New file.
23905         * lib/xgetdomainname.c: New file.
23906
23907 2003-09-25  Simon Josefsson  <jas@extundo.com>
23908             Bruno Haible  <bruno@clisp.org>
23909
23910         * modules/getdomainname: New file.
23911         * modules/xgetdomainname: New file.
23912         * MODULES.html.sh (func_all_modules): Add getdomainname,
23913         xgetdomainname.
23914
23915 2003-09-25  Simon Josefsson  <jas@extundo.com>
23916             Bruno Haible  <bruno@clisp.org>
23917
23918         * m4/getdomainname.m4: New file.
23919
23920 2003-09-25  Simon Josefsson  <jas@extundo.com>
23921             Bruno Haible  <bruno@clisp.org>
23922
23923         * lib/getdomainname.h: New file.
23924         * lib/getdomainname.c: New file.
23925
23926 2003-09-25  Karl Berry  <karl@gnu.org>
23927
23928         * lib/argp-fmtstream.c, argp-help.c: update from libc.
23929
23930 2003-09-25  Karl Berry  <karl@gnu.org>
23931
23932         * config/install-sh: update from automake.
23933
23934 2003-09-25  Bruno Haible  <bruno@clisp.org>
23935
23936         * modules/version-etc-2: New file, from modules/version-etc with
23937         modifications.
23938         * MODULES.html.sh (func_all_modules): Add version-etc-2.
23939
23940 2003-09-25  Bruno Haible  <bruno@clisp.org>
23941
23942         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
23943         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
23944
23945 2003-09-24  Simon Josefsson  <jas@extundo.com>
23946
23947         * modules/xgethostname: Add xgethostname.h.
23948
23949 2003-09-24  Paul Eggert  <eggert@twinsun.com>
23950
23951         * lib/linebuffer.c (freebuffer): Don't free the argument, just
23952         the buffer associated with the argument.  Bug reported by
23953         Simon Josefsson.
23954
23955 2003-09-24  Paul Eggert  <eggert@twinsun.com>
23956
23957         * README: Document assumptions that 'int' is at least 32 bits
23958         wide, that integer arithmetic is 2's complement without overflow,
23959         that there are no holes in integer values, that adding sizes of
23960         two nonoverlapping objects can't overflow, and that all-bits-zero
23961         yields scalar zero.  Fix spelling and capitalization typos.
23962
23963 2003-09-19  Karl Berry  <karl@gnu.org>
23964
23965         * lib/argp.h: update from libc.
23966
23967 2003-09-17  Paul Eggert  <eggert@twinsun.com>
23968
23969         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
23970         to avoid spurious warnings like "AC_RUN_IFELSE was called before
23971         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
23972
23973 2003-09-17  Paul Eggert  <eggert@twinsun.com>
23974
23975         * gnulib-tool: Use "test -h", not "test -L", for portability
23976         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
23977         (tags_regexp): Remove, since \| doesn't conform to POSIX.
23978         (sed_extract_prog): Issue s commands one-by-one, rather than
23979         using \| in one s command.
23980
23981 2003-09-16  Paul Eggert  <eggert@twinsun.com>
23982
23983         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
23984         input error, instead of returning NULL the next time we are called
23985         (and therefore losing track of errno).
23986
23987 2003-09-16  Bruno Haible  <bruno@clisp.org>
23988
23989         * gnulib-tool (func_create_testdir): Warn about duplicated
23990         dependencies.
23991
23992 2003-09-15  Paul Eggert  <eggert@twinsun.com>
23993
23994         * modules/argmatch, modules/fatal, modules/obstack,
23995         modules/xalloc, modules/xgethostname: Sort dependencies by
23996         importance, not alphabetically.
23997
23998 2003-09-15  Paul Eggert  <eggert@twinsun.com>
23999
24000         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
24001         fails, so that the caller gets the proper errno.
24002
24003         * lib/readutmp.c (read_utmp): Likewise.
24004         Check for fstat error.  Close stream and free storage
24005         when failing.
24006
24007 2003-09-14  Karl Berry  <karl@gnu.org>
24008
24009         * config/srclist.txt (strdup.c): disable for c89 changes.
24010
24011 2003-09-14  Jim Meyering  <jim@meyering.net>
24012
24013         * lib/getloadavg.c: Correct cpp indentation.
24014         * lib/strdup.c: Likewise.
24015         * lib/vasnprintf.c: Likewise.
24016
24017 2003-09-14  Bruno Haible  <bruno@clisp.org>
24018
24019         * modules/fwriteerror: New file.
24020         * MODULES.html.sh (func_all_modules): Add fwriteerror.
24021
24022 2003-09-14  Bruno Haible  <bruno@clisp.org>
24023
24024         * lib/fwriteerror.h: New file.
24025         * lib/fwriteerror.c: New file.
24026
24027 2003-09-12  Paul Eggert  <eggert@twinsun.com>
24028
24029         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
24030         modules/xgethostname, modules/xalloc: Depend on exit.
24031
24032 2003-09-12  Paul Eggert  <eggert@twinsun.com>
24033
24034         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
24035
24036         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
24037         and AC_MINIX, too, so that their extensions are available.
24038
24039         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
24040         This macro has been superseded by gl_BACKUPFILE.
24041
24042         More patches to assume C89 or better.
24043
24044         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
24045
24046         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
24047         unconditionally.
24048         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
24049         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
24050         Include <string.h>, <stdlib.h> unconditionally.
24051         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
24052         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
24053         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
24054         headers or for string.h.
24055         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
24056         or strtoul.
24057
24058         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
24059         headers.
24060         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
24061         * m4/userspec.m4 (gl_USERSPEC): Likewise.
24062         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
24063         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
24064         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
24065         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
24066         memcpy, memset.
24067         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
24068         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
24069         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
24070         strtol.
24071         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
24072         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
24073         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
24074         strtoul.
24075
24076 2003-09-12  Paul Eggert  <eggert@twinsun.com>
24077
24078         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
24079         * lib/obstack.c [!defined _LIBC]: Likewise.
24080         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
24081         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
24082         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
24083
24084         More changes to assume C89 or better.
24085
24086         * lib/error.c (error_tail): Assume vprintf.
24087
24088         * lib/argmatch.c (getenv): Remove decl.
24089         * lib/progreloc.c (get_full_program_name): Define via prototype.
24090         * lib/setenv.c (clearenv): Likewise.
24091         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
24092         needed.
24093         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
24094         (malloc, memcpy): Remove decls.
24095         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
24096         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
24097         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
24098         (memcpy): Remove macro.
24099         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
24100         (__P): Remove.  All uses removed.
24101         (PTR): Remove.  All uses changed to void *.
24102         (CHAR_BIT, NULL): Remove.
24103         (spaces, zeros, memset_space, memset_zero)
24104         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
24105         Remove.
24106         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
24107         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
24108         Define with prototype.
24109         Remove now-unnecessary prototype decl.
24110         (extra_args_spec): Assume ANSI C.  All uses changed.
24111         (extra_args_spec_iso): Remove.
24112         (my_strftime, emacs_strftimeu): Define via prototype.
24113         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
24114         unconditionally.
24115         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
24116         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
24117         (strtoul, strtol): Remove decls.
24118         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
24119         LONG_MAX): Remove.
24120         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
24121         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
24122         (LOCALE_PARAM_PROTO): New macro.
24123         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
24124         (INTERNAL (strtol), strtol): Define with a prototype.
24125         (PARAMS): Remove.  All uses removed.
24126         * lib/tempname.c: Include <string.h> unconditionally.
24127         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
24128         * lib/xgethostname.c (main): Define with a prototype.
24129         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
24130         Include <stdlib.h> unconditionally.
24131         (calloc, malloc, realloc, free): Remove decls.
24132         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
24133         Include <stdlib.h> unconditionally.  Sort include file names.
24134         (strtod): Remove.
24135         (xstrtod): Define with a prototype.
24136         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
24137         (strtol, strtoul): Remove decls.
24138
24139 2003-09-11  Paul Eggert  <eggert@twinsun.com>
24140
24141         More patches to assume C89 or better.
24142         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
24143         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
24144         string.h, memchr, STDC_HEADERS.
24145
24146 2003-09-11  Paul Eggert  <eggert@twinsun.com>
24147
24148         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
24149         Include <stdlib.h>, <string.h> unconditionally.
24150         Remove now-unnecessary cast to char *.
24151         * lib/strnlen.c: Include <string.h> unconditionally.
24152         * lib/yesno.c (yesno): Define with a prototype.
24153
24154 2003-09-11  Bruno Haible  <bruno@clisp.org>
24155
24156         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
24157
24158 2003-09-10  Jim Meyering  <jim@meyering.net>
24159
24160         * lib/error.c: Correct indentation of cpp directives.
24161
24162 2003-09-10  Bruno Haible  <bruno@clisp.org>
24163
24164         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
24165         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
24166         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
24167         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
24168         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
24169         <stdlib.h> and <string.h> checks.
24170         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
24171         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
24172
24173 2003-09-10  Bruno Haible  <bruno@clisp.org>
24174
24175         * lib/strcspn.c: Include <string.h> unconditionally.
24176         * lib/strpbrk.c: Include <string.h> unconditionally.
24177         * lib/strstr.c: Include <string.h> unconditionally.
24178         * lib/unicodeio.c: Include <string.h> unconditionally.
24179         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
24180         * lib/unsetenv.c: Likewise.
24181         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
24182         * lib/yesno.c: Include <stdlib.h> unconditionally.
24183         (rpmatch): Add prototype.
24184
24185 2003-09-09  Paul Eggert  <eggert@twinsun.com>
24186
24187         More patches to assume C89 or better.
24188         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
24189         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
24190         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
24191         or for string.h.
24192         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
24193         stdlib.h.
24194         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
24195         C headers.
24196         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
24197         string.h.
24198         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
24199         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
24200         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
24201         or for string.h.
24202         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
24203         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
24204         C headers.
24205         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
24206         memcpy.
24207         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
24208         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
24209         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
24210         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
24211         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
24212         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
24213         string.h, free.
24214         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
24215         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
24216         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
24217         C headers, or for string.h.
24218         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
24219         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
24220         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
24221         headers, memory.h, stdlib.h, string.h, strings.h.
24222         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
24223         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
24224         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
24225         strchr.
24226         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
24227         headers, memory.h, string.h.
24228         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
24229         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
24230         free.
24231         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
24232         headers.
24233         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
24234         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
24235         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
24236         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
24237         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
24238
24239 2003-09-09  Paul Eggert  <eggert@twinsun.com>
24240
24241         More K&R removal.
24242
24243         * lib/acosl.c (main): Use a prototype.
24244         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
24245         tanl.c: Likewise.
24246
24247         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
24248
24249         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
24250         (getopt, etopt_long, getopt_long_only, _getopt_internal)
24251         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
24252         with a prototype.
24253         * lib/getopt.c (const): Remove macro.
24254         Include <string.h> unconditionally.
24255         (my_index): Remove; all uses changed to strchr.
24256         (strlen): Remove decl.
24257         (exchange): Remove forward decl; no longer needed.
24258         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
24259         Define with prototype.
24260         * lib/getopt1.c (const): Remove macro.
24261         (getopt_long, getopt_long_only, main): Define with prototype.
24262
24263         * lib/getugroups.c: Include <string.h> unconditionally.
24264
24265         * lib/getusershell.c: Include <stdlib.h> unconditionally.
24266         (getusershell, setusershell, endusershell, readname, main):
24267         Define with prototypes.
24268
24269         * lib/group-member.c: Include group-member.h first.
24270         Include <stdlib.h> unconditionally.
24271
24272         * lib/hard-locale.c: Include hard-locale.h first.
24273         Include <stdlib.h>, <string.h> unconditionally.
24274
24275         * lib/hash.c (free, malloc): Remove decls.
24276         Include <stdlib.h> unconditionally.
24277
24278         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
24279         (getenv): Do not declare.
24280
24281         * lib/idcache.c: Include <string.h> unconditionally.
24282
24283         * lib/long-options.c: Include long-options.h first, to test interface.
24284         Include <stdlib.h> unconditionally.
24285
24286         * lib/makepath.c: Include makepath.h first, to test interface.
24287         Include <stdlib.h> and <string.h> unconditionally.
24288
24289         * lib/linebuffer.c: Include <stdlib.h>.
24290         (free): Remove decl.
24291
24292         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
24293         stddef.h. rpl_malloc returns void *, not char *.
24294         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
24295         prototype.
24296
24297         * lib/md5.h: Include <limits.h> unconditionally.
24298         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
24299         (__P): Remove; all uses removed.
24300         * lib/md5.c: Include "md5.h" first.
24301         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
24302         md5_buffer, md5_process_bytes, md5_process_block):
24303         Define with prototypes.
24304         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
24305         * lib/sha.c: Include "sha.h" first.
24306         Include <stdlib.h>, <string.h> unconditionally.
24307
24308         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
24309         * lib/memcmp.c (__ptr_t): Likewise.
24310         * lib/memrchr.c (__ptr_t): Likewise.
24311         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
24312         Include <string.h> unconditionally.
24313         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
24314         * lib/memchr.c: Include <stdlib.h> unconditionally.
24315         * lib/memchr.c (LONG_MAX): Remove.
24316         * lib/memrchr.c (LONG_MAX): Likewise.
24317         * lib/memchr.c (__memchr): Define via a prototype.
24318         * lib/memrchr.c (__memrchr): Likewise.
24319         * lib/memcmp.c (__P): Remove, and remove all uses.
24320         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
24321         Remove forward decls; no longer needed.
24322         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
24323         Use types required by C89 in prototype.
24324
24325         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
24326         * lib/savedir.c: Likewise.
24327         * lib/mkdir.c (free): Remove decl.
24328         * lib/rmdir.c (rmdir): Define with a prototype.
24329         * lib/savedir.c: Include savedir.h first, to test interface.
24330
24331         * lib/mktime.c (STDC_HEADERS): Remove.
24332         Include <stdlib.h>, <string.h> unconditionally.
24333
24334         * lib/modechange.c: Include <stdlib.h> unconditionally.
24335         (malloc): Remove decl.
24336
24337         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
24338         (free): Remove decl.
24339
24340         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
24341         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
24342         (This type really should be intptr_t, but that's a C99ism.)
24343         (_obstack_memcpy): Remove: all uses changed to memcpy.
24344         Include <string.h> unconditionally.
24345         (struct obstack): Assume __STDC__ for types of members
24346         chunkfun, freefun, extra_arg.
24347         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
24348         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
24349         obstack_begin, obstack_specify_allocation,
24350         obstack_specify_allocation_with_arg, obstack_chunkfun,
24351         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
24352         Remove unprototyped decls and the macros that use them.
24353         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
24354         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
24355         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
24356         (defined __STDC__ && __STDC__)]:
24357         Remove nonprototyped code.
24358         Include <stdlib.h> unconditionally.
24359         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
24360         _obstack_allocated_p, _obstack_free, obstack_free,
24361         _obstack_memory_used, print_and_abort):
24362         Define using prototypes.
24363         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
24364         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
24365         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
24366         obstack_next_free, obstack_object_size, obstack_room) [0]:
24367         Remove unused, unprototyped code.
24368
24369         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
24370
24371         * lib/physmem.c (physmem_total, physmem_available, main): Define
24372         with prototypes.
24373
24374         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
24375         (main): Define with a prototype.
24376
24377         * lib/posixver.c (getenv): Remove decl.
24378
24379         * lib/putenv.c (malloc): Returns void *, not char *.
24380         Include <string.h> unconditionally.
24381         (strchr, memcpy, NULL): Do not define.
24382
24383         * lib/readtokens.c: Include readtokens.h first, to test interface.
24384         Include <stdlib.h>, <string.h> unconditionally.
24385         (init_tokenbuffer): Define with a prototype.
24386
24387         * lib/regex.c (PARAMS): Remove.  All uses removed.
24388         All uses of _RE_ARGS removed, too.
24389         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
24390         unconditionally.
24391         (bzero): Assume memset exists.
24392         (memcmp, memcpy, NULL): Remove.
24393         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
24394         char, or assignments to local vars of type signed char.
24395         (init_syntax_once, PREFIX(extract_number_and_incr),
24396         PREFIX(print_partial_compiled_pattern),
24397         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
24398         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
24399         PREFIX(regex_grow_registers), PREFIX(regex_compile),
24400         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
24401         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
24402         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
24403         wcs_compile_range, byte_compile_range, truncate_wchar,
24404         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
24405         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
24406         count_mbs_length, wcs_re_match_2_internal,
24407         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
24408         PREFIX(alt_match_null_string_p),
24409         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
24410         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
24411         regfree, PREFIX(extract_number)): Define with prototype.  Remove
24412         now-unnecessary declaration, if any.
24413         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
24414         regcomp, regexec):
24415         Remove now-unnecessary casts among pointer types.
24416         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
24417
24418         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
24419         (free): Remove decl.
24420
24421         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
24422
24423         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
24424         (free): Remove decl.
24425
24426         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
24427         * lib/xgetcwd.c: Likewise.
24428
24429         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
24430         (free): Remove decl.
24431
24432         * lib/strchrnul.c (strchrnul): Define with a prototype.
24433         Fix bug: c_in was not converted to char before searching.
24434
24435         The following changes are not K&R related:
24436
24437         * lib/group-member.h: Include <sys/types.h>, so that this file is
24438         self-contained.
24439         * lib/makepath.h: Likewise.
24440
24441         * lib/getusershell.c (readname, default_index, line_size, readname):
24442         Use size_t, not int, for sizes.
24443         (readname): If the size overflows, report an error instead of
24444         looping forever.
24445
24446 2003-09-09  Paul Eggert  <eggert@twinsun.com>
24447
24448         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
24449         libc.
24450
24451 2003-09-09  Paul Eggert  <eggert@twinsun.com>
24452
24453         * README: New section: portability guidelines.
24454
24455 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
24456
24457         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
24458         C89 spec.
24459
24460 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
24461
24462         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
24463
24464 2003-09-08  Paul Eggert  <eggert@twinsun.com>
24465
24466         Assume C89 or better; remove K&R cruft.
24467         A few of these changes were first proposed by Derek Robert Price
24468         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
24469
24470         * lib/addext.c: Include <string.h> unconditionally.
24471         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
24472         Don't declare getenv or malloc.
24473
24474         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
24475         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
24476         (NULL): Remove.
24477         (find_stack_direction, alloca): Use prototypes.
24478
24479         * lib/atexit.c (atexit): Define using a prototype.
24480
24481         * lib/basename.c, dirname.c, stripslash.c:
24482         Include <string.h> unconditionally.
24483
24484         * lib/bcopy.c: Include <stddef.h>.
24485         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
24486
24487         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
24488
24489         * lib/error.h (error, error_at_line, error_print_progname)
24490         [! (defined (__STDC__) && __STDC__)]: Remove decls.
24491         * lib/error.c: Include error.h first, to check interface.
24492         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
24493         (VA_START): Remove; all uses changeed to va_start.
24494         (exit, strerror): Remove decls.
24495         (error_print_progname): Prototype uncondionally.
24496         Don't include <errno.h>; no longer needed.
24497         (private_strerror): Remove.
24498         (error_tail): Always define.
24499         (error, error_at_line): Assume C89 or better; always use prototypes.
24500         * lib/fatal.c: Include "fatal.h" first, to test interface.
24501         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
24502         (VA_START): Remove; all uses changed to va_start.
24503         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
24504         this case.
24505         (exit): Remove decl.
24506         (fatal): Prototype unconditionally.  Assume va_start works.
24507         Abort at end, to pacify gcc.
24508
24509         * lib/euidaccess.c (main): Define with a prototype.
24510
24511         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
24512
24513         * lib/exitfail.c: Include <stdlib.h> unconditionally.
24514
24515         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
24516         prototypes.
24517         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
24518         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
24519         (getenv): Remove decl.
24520         (fnmatch): Define using a prototype.
24521         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
24522         (FCT): Define using a prototype.
24523
24524         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
24525
24526         * lib/gethostname.c: Include <stddef.h>.
24527         (gethostname): Define with prototype.  Length is size_t, not int.
24528
24529 2003-09-08  Paul Eggert  <eggert@twinsun.com>
24530
24531         Assume C89 or better; remove K&R cruft.
24532         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
24533         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
24534         string.h, getenv, malloc.
24535         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
24536         headers.
24537         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
24538         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
24539         do not check for strerror.
24540         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
24541         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
24542         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
24543         do not check for doprnt or vprintf.
24544         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
24545         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
24546
24547 2003-09-08  Paul Eggert  <eggert@twinsun.com>
24548
24549         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
24550         getversion.c should have been removed then, but was accidentally
24551         preserved.
24552
24553         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
24554         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
24555
24556 2003-09-08  Karl Berry  <karl@gnu.org>
24557
24558         * config/config.sub, config.guess, srclistvars.sh: update from savannah
24559                 config, forget about prep.
24560
24561         * config/depcomp, missing: update from automake.
24562
24563 2003-09-07  Paul Eggert  <eggert@twinsun.com>
24564
24565         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
24566         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
24567
24568 2003-09-07  Paul Eggert  <eggert@twinsun.com>
24569
24570         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
24571         copy_tm_result.  Bug reported by Simon Josefsson in
24572         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
24573
24574 2003-09-06  Paul Eggert  <eggert@twinsun.com>
24575
24576         * m4/time_r.m4: New file.
24577         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
24578         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
24579         is. Check for timegm declaration.
24580         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
24581         Do not check for gmtime_r.
24582         Replace mktime if __mktime_internal does not exist and if mktime
24583         hasn't been replaced already.
24584
24585 2003-09-06  Paul Eggert  <eggert@twinsun.com>
24586
24587         * lib/time_r.c, lib/time_r.h: New files.
24588
24589         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
24590         __localtime_r.
24591         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
24592         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
24593
24594         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
24595         __gmtime_r.
24596         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
24597         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
24598         Include <time_r.h>.
24599
24600         * lib/timegm.c: Switch to glibc implementation, with the following
24601         changes:
24602         [defined HAVE_CONFIG_H]: Include <config.h>.
24603         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
24604         (__mktime_internal) [!defined _LIBC]: New decl.
24605         (__gmtime_r) [!defined _LIBC]: New macro and function.
24606         (timegm): Use a prototype, since gnulib assumes C89.
24607         Do not bother declaring tmp to be const, as it's not really usefu.
24608         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
24609         (timegm): Declare only if HAVE_DECL_TIMEGM.
24610
24611 2003-09-06  Paul Eggert  <eggert@twinsun.com>
24612
24613         * MODULES.html.sh (func_all_modules): Add time_r.
24614         * modules/time_r: New file.
24615         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
24616         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
24617
24618 2003-09-03  Paul Eggert  <eggert@twinsun.com>
24619
24620         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
24621         Bug reported by Lute Kamstra in
24622         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
24623
24624         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
24625         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
24626         course with correspondingly smaller numbers for tomorrow and
24627         yesterday.  From Tadayoshi Funaba.  Originally installed into
24628         sh-utils on 1999-08-07, but the patch got lost (I guess during the
24629         coreutils merge?).
24630
24631 2003-08-31  Simon Josefsson  <jas@extundo.com>
24632
24633         * modules/timegm: New file.
24634         * MODULES.html.sh (func_all_modules): Add timegm.
24635
24636 2003-08-31  Simon Josefsson  <jas@extundo.com>
24637
24638         * m4/timegm.m4: New file.
24639
24640 2003-08-31  Simon Josefsson  <jas@extundo.com>
24641
24642         * lib/timegm.h: New file.
24643         * lib/timegm.c: New file.  Based on
24644         wget-1.8.2/src/http.c:mktime_from_utc.
24645
24646 2003-08-31  Karl Berry  <karl@gnu.org>
24647
24648         * lib/argp.h: update from libc.
24649
24650 2003-08-28  Bruno Haible  <bruno@clisp.org>
24651
24652         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
24653         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
24654         followed by '#define fnmatch fnmatch_posix' gives an error.
24655
24656 2003-08-28  Bruno Haible  <bruno@clisp.org>
24657
24658         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
24659         warning on QNX, which defines O_BINARY to 000000.
24660
24661 2003-08-27  Jim Meyering  <jim@meyering.net>
24662
24663         * m4/mkstemp.m4: Require that the system mkstemp be able to create
24664         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
24665         would fail after 32.  Reported by Danny Levinson.  Details here:
24666         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
24667
24668 2003-08-24  Bruno Haible  <bruno@clisp.org>
24669
24670         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
24671         MSVC7 <stdio.h> is included later.
24672
24673 2003-08-22  Simon Josefsson  <jas@extundo.com>
24674
24675         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
24676
24677 2003-08-20  Karl Berry  <karl@gnu.org>
24678
24679         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
24680
24681 2003-08-20  Bruno Haible  <bruno@clisp.org>
24682
24683         * modules/progname: New file.
24684         * MODULES.html.sh (func_all_modules): Add progname.
24685
24686 2003-08-20  Bruno Haible  <bruno@clisp.org>
24687
24688         * lib/progname.h: New file, from GNU gettext.
24689         * lib/progname.c: New file, from GNU gettext.
24690         * lib/progreloc.c: New file, from GNU gettext.
24691
24692 2003-08-19  Jim Meyering  <jim@meyering.net>
24693
24694         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
24695         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
24696
24697 2003-08-19  Bruno Haible  <bruno@clisp.org>
24698
24699         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
24700         more.
24701
24702 2003-08-19  Bruno Haible  <bruno@clisp.org>
24703
24704         * lib/xstrdup.c: Assume <string.h> exists.
24705
24706 2003-08-18  Paul Eggert  <eggert@twinsun.com>
24707
24708         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
24709         in makefile rules.
24710
24711 2003-08-18  Jim Meyering  <jim@meyering.net>
24712
24713         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
24714         * m4/lib-ld.m4: Likewise.
24715
24716 2003-08-18  Jim Meyering  <jim@meyering.net>
24717
24718         * lib/setenv.h: Indent nested cpp directive.
24719         * lib/vasnprintf.c: Remove trailing blanks.
24720
24721 2003-08-17  Simon Josefsson  <jas@extundo.com>
24722
24723         * modules/xstrndup: New file.
24724         * MODULES.html.sh (func_all_modules): Add xstrndup.
24725
24726 2003-08-17  Simon Josefsson  <jas@extundo.com>
24727
24728         * modules/argp: Fix autoconf macro name. Add more dependencies.
24729
24730 2003-08-17  Simon Josefsson  <jas@extundo.com>
24731
24732         * m4/xstrndup.m4: New file.
24733
24734 2003-08-17  Simon Josefsson  <jas@extundo.com>
24735
24736         * m4/argp.m4: New file.
24737
24738 2003-08-17  Simon Josefsson  <jas@extundo.com>
24739             Bruno Haible  <bruno@clisp.org>
24740
24741         * lib/xstrndup.h: New file.
24742         * lib/xstrndup.c: New file.
24743
24744 2003-08-17  Bruno Haible  <bruno@clisp.org>
24745
24746         * modules/strndup (Files, Include): Add lib/strndup.h.
24747
24748 2003-08-17  Bruno Haible  <bruno@clisp.org>
24749
24750         * modules/euidaccess (Files): Add lib/euidaccess.h.
24751
24752 2003-08-17  Bruno Haible  <bruno@clisp.org>
24753
24754         * lib/strndup.h: New file.
24755
24756 2003-08-17  Bruno Haible  <bruno@clisp.org>
24757
24758         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
24759         like AC_GNU_SOURCE.
24760         * modules/extensions (configure.ac): Comment out the invocation of
24761         gl_USE_SYSTEM_EXTENSIONS.
24762
24763 2003-08-16  Paul Eggert  <eggert@twinsun.com>
24764
24765         Merges from coreutils, etc.
24766         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
24767         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
24768         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
24769         fixing a typo.
24770         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
24771         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
24772
24773 2003-08-16  Paul Eggert  <eggert@twinsun.com>
24774
24775         Document merge from coreutils.
24776         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
24777         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
24778         * modules/utime: Add m4/utimes-null.m4.
24779
24780 2003-08-16  Paul Eggert  <eggert@twinsun.com>
24781
24782         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
24783         space, undoing this 2003-08-12 change:
24784         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
24785
24786 2003-08-16  Paul Eggert  <eggert@twinsun.com>
24787
24788         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
24789         strtoul.c from libc, undoing this 2003-08-12 change:
24790         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
24791
24792 2003-08-16  Jim Meyering  <jim@meyering.net>
24793
24794         Merges from coreutils.
24795         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
24796         prefix.  Adjust cache variables similarly.  Create 500 rather than
24797         just 300 files, to exercise bug on Darwin6.5, too.
24798         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
24799         $missing_dir.
24800         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
24801         AM_SYS_POSIX_TERMIOS.
24802         Reported by mkc@mathdogs.com.
24803         Also change use of $am_cv_sys_posix_termios
24804         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
24805         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
24806         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
24807         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
24808         in /proc/mounts until it finds one with matching device number.  This
24809         is unnecessary when the FILE argument *is* a mount point.  No stat call
24810         is necessary in that case.  So, disable the statvfs-testing code on
24811         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
24812         as RedHat bug# 84846.
24813         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
24814         to 1MB, so as not to render systems with no stack size limit (e.g.,
24815         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
24816         Include <unistd.h>.  On some systems,
24817         it is required for the definition of _SC_PAGESIZE.
24818
24819 2003-08-16  Jim Meyering  <jim@meyering.net>
24820
24821         Merge from coreutils.
24822         * lib/xstrtoimax.c: #else #if -> #elif.
24823         * lib/xstrtoumax.c: Likewise.
24824
24825 2003-08-16  Jim Meyering  <jim@meyering.net>
24826
24827         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
24828         * m4/utimes.m4: Removed.
24829         * m4/utimes-null.m4: Renamed from utimes.m4.
24830
24831         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
24832         to 1MB, so as not to render systems with no stack size limit (e.g.,
24833         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
24834         Include <unistd.h>.  On some systems,
24835         it is required for the definition of _SC_PAGESIZE.
24836
24837 2003-08-16  Jim Meyering  <jim@meyering.net>
24838         and Paul Eggert  <eggert@cs.ucla.edu>
24839
24840         Merges from coreutils, etc.
24841
24842         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
24843         using the latest version from cvs.  This avoids problems with #line
24844         directives using a vendor (Sun) compiler.
24845         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
24846         Don't set GETGROUPS_LIB here; now it's
24847         done via getgroups.m4's wrapper function.
24848         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
24849         rather than just in sh-util/configure.in, so that the
24850         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
24851         same.
24852         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
24853         AC_FUNC_GETLOADAVG where to find getloadavg.c.
24854         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
24855         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
24856         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
24857         Remove code that is now done by the newly-required macros.
24858         Append $(EXEEXT) to DF_PROG.
24859         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
24860         Do not invoke or require the following here,
24861         since prereq.m4 or some gnulib .m4 now does this for us:
24862         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
24863         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
24864         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
24865         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
24866         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
24867         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
24868         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
24869         AC_FUNC_OBSTACK.
24870         Do not replace the following functions, as this is now the job
24871         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
24872         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
24873         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
24874         atexit getpass, strdup, getpagesize.
24875         Replace 'raise'.
24876         Do not check for the following functions, as this is now the job
24877         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
24878         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
24879         setregid.
24880         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
24881         Check for sys/sysctl.h.
24882         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
24883         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
24884         of checking for ssize_t ourselves.
24885
24886         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
24887         Require every macro that gnulib/modules/* suggests for us.
24888         (jm_PREREQ_ADDEXT): New macro.
24889         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
24890         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
24891
24892         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
24893         (gl_PHYSMEM): Use it.
24894         Also check for `table' function.
24895         Check for new headers and functions.
24896         Add check for sys/sysmp.h.
24897         With suggestions from Kaveh Ghazi.
24898         Ignore headers that are present but cannot be compiled.  This
24899         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
24900         C 5.4.
24901
24902 2003-08-15  Paul Eggert  <eggert@twinsun.com>
24903
24904         Document merge from coreutils.
24905         * modules/userspec: Depend on posixver.
24906         * modules/strftime: Depend on tzset.
24907
24908 2003-08-15  Paul Eggert  <eggert@twinsun.com>
24909
24910         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
24911         rather than tab, after '#' in shell-script copyright notices.
24912         Suggested by Bruno Haible.
24913
24914 2003-08-15  Paul Eggert  <eggert@twinsun.com>
24915
24916         * config/srclist-update: Use three spaces, rather than tab, after '#'
24917         in shell-script copyright notices.  Suggested by Bruno Haible.
24918         Remove unnecessary parenthesization in regular expression.
24919
24920 2003-08-15  Jim Meyering  <jim@meyering.net>
24921
24922         Merge from coreutils.
24923         * lib/xgethostname.c: Include <stdlib.h>.
24924         (xghostname): Don't exit for anything other than memory-related
24925         failure; just return NULL.
24926         * lib/userspec.c: Include "posixver.h".
24927         (parse_user_spec): Accept `.' as a separator only
24928         in pre-POSIX-200112 mode.
24929         * lib/strtoimax.c: Use #elif rather than #else #if.
24930         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
24931         Remove function, now that we can rely on a working tzset function.
24932         [!_LIBC]: Ensure that the required autoconf test has been run.
24933         [!defined _NL_CURRENT && HAVE_STRFTIME]:
24934         Use underlying_strftime for %r.
24935         * lib/sha.c: Merge in some clean-up and optimization changes from
24936         glibc.
24937         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
24938         Ensure that it is a multiple of 64.
24939         Rearrange loop exit tests so as to avoid performing an
24940         additional fread after encountering an error or EOF.
24941         * lib/realloc.c: Update copyright date.
24942
24943 2003-08-15  Jim Meyering  <jim@meyering.net>
24944         and Paul Eggert  <eggert@twinsun.com>
24945
24946         Merge from coreutils.
24947         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
24948         member but strut utmpx does not.  Needed for AIX 4.3.3.
24949         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
24950
24951 2003-08-15  Jim Meyering  <jim@meyering.net>
24952         and Paul Eggert  <eggert@cs.ucla.edu>
24953
24954         Merges from coreutils, etc.
24955         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
24956         Require gl_FUNC_TZSET_CLOBBER.
24957         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
24958         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
24959         members.
24960
24961 2003-08-14  Paul Eggert  <eggert@twinsun.com>
24962
24963         Help the merge from coreutils.
24964         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
24965         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
24966         * m4/tzset.m4: Use it too.
24967
24968 2003-08-14  Paul Eggert  <eggert@twinsun.com>
24969
24970         * modules/tzset: New file.
24971
24972 2003-08-14  Jim Meyering  <jim@meyering.net>
24973
24974         Merges from coreutils.
24975         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
24976         variable names, rather than @FNMATCH_H@.
24977         * modules/alloca: Likewise for $(ALLOCA_H).
24978
24979         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
24980         the three copies of the literal target, `fnmatch.h'.
24981         * modules/alloca (alloca.h): Likewise.
24982
24983 2003-08-14  Jim Meyering  <jim@meyering.net>
24984
24985         Merge from coreutils.
24986         * m4/tzset.m4: New file.
24987         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
24988         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
24989         otherwise, AIX 5.1 systems would end up using the latter.
24990         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
24991         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
24992         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
24993         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
24994
24995 2003-08-14  Jim Meyering  <jim@meyering.net>
24996
24997         Merge from coreutils.
24998         * lib/obstack.h: Whitespace changes.
24999         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
25000         and xcalloc return values.
25001         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
25002         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
25003         hang on OSF/1 5.1 for DIR on both local and remote file systems.
25004         Reported by (and fix confirmed by) Nelson H. F. Beebe.
25005         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
25006         error from mntctl.
25007         Use mntctl's return value to drive the entry-processing loop, since
25008         we can't rely on the value of the vmt_length member in the last
25009         entry.  On some systems doing so could result in exhausting
25010         virtual memory.  Based in part on a patch from Mike Jetzer.
25011
25012 2003-08-14  Jim Meyering  <jim@meyering.net>
25013         and Paul Eggert  <eggert@twinsun.com>
25014
25015         Merges from coreutils, plus other fixes.
25016         * lib/physmem.c: Merge in portability changes from gcc/libiberty
25017         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
25018         for credits and details.  Thanks to Kaveh Ghazi for helping
25019         to keep these files in sync.
25020         (ARRAY_SIZE): Define it.
25021         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
25022         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
25023         (memcasecmp): Don't assume size_t fits in unsigned int.
25024         Remove casts and duplicate code.
25025         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
25026         (memcpy): Remove definition.
25027         Merge in some clean-up and optimization changes from glibc.
25028         [BLOCKSIZE]: Move definition to top of file.
25029         Ensure that it is a multiple of 64.
25030         Rearrange loop exit tests so as to avoid performing an
25031         additional fread after encountering an error or EOF.
25032         * lib/md5.h (md5_uintptr): Define.
25033         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
25034         return to the initial working directory.  Preserve errno
25035         for caller.
25036         * lib/idcache.c: Include "xalloc.h".
25037         (xmalloc, xrealloc): Remove decls.
25038         (getuser): Remove casts no longer required in C89.
25039         * lib/human.c: Include stdio.h, for sprintf.
25040         * lib/group-member.c: Include "xalloc.h".
25041         (xmalloc, xrealloc): Remove decls.
25042         (get_group_info): Remove casts no longer required in C89.
25043         * lib/getusershell.c (readname): Remove casts no longer required in
25044         C89.
25045         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
25046         * lib/getline.c: Whitespace fix, from coreutils.
25047
25048 2003-08-13  Paul Eggert  <eggert@twinsun.com>
25049
25050         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
25051         Check for isascii.
25052
25053         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
25054         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
25055         Undo previous (whitespace-only) change.
25056
25057 2003-08-13  Paul Eggert  <eggert@twinsun.com>
25058
25059         * lib/exclude.c: Include <ctype.h>
25060         (IN_CTYPE_DOMAIN): New macro.
25061         (is_space): New fn.
25062         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
25063         and empty lines.
25064
25065         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
25066         Undo previous (whitespace-only) change.
25067
25068 2003-08-13  Paul Eggert  <eggert@twinsun.com>
25069
25070         * config/srclist-update: Change update back to the old behavior,
25071         leaving whitespace alone.  Use one 'sed' command rather than a
25072         pipeline.
25073         (fixlicense): Now a variable, not a function.
25074         (remove_trailing_blanks): Remove.
25075         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
25076         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
25077         Undo previous (whitespace-only) change.
25078
25079 2003-08-12  Paul Eggert  <eggert@twinsun.com>
25080
25081         Merge from coreutils.
25082         * modules/euidaccess: Add lib_SOURCES, include for new
25083         file euidaccess.h
25084
25085 2003-08-12  Paul Eggert  <eggert@twinsun.com>
25086
25087         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
25088         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
25089         Normalize leading white space and remove trailing white space.
25090
25091         Merge from coreutils
25092         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
25093
25094         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
25095         0.12.1.  These files are now being upgraded automatically by
25096         ../config/srclist-update.
25097
25098 2003-08-12  Paul Eggert  <eggert@twinsun.com>
25099
25100         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
25101         Normalize leading white space and remove trailing white space.
25102         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
25103         notice, as per ../config/srclist-update.
25104
25105         Merge from coreutils.
25106         * lib/euidaccess.h: New file.
25107         * lib/euidaccess.c: Include it.
25108         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
25109         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
25110         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
25111
25112 2003-08-12  Paul Eggert  <eggert@twinsun.com>
25113
25114         * config/srclist-update: Add copyright notice.
25115         (remove_id_lines, remove_trailing_blanks): New constants.
25116         (fixfile): Use them to normalize spacing a bit in copied files.
25117         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
25118         Normalize leading white space and remove trailing white space.
25119
25120         * config/texinfo.tex: Sync with texinfo.
25121
25122         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
25123         strtoul.c from libc, to merge coreutils whitespace changes.
25124
25125         * config/srclist.txt: Get the following m4 files from gettext:
25126         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
25127         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
25128         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
25129         wint_t.m4.
25130
25131 2003-08-12  Karl Berry  <karl@gnu.org>
25132
25133         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
25134         been made.
25135
25136 2003-08-11  Paul Eggert  <eggert@twinsun.com>
25137
25138         * modules/gnu-source, m4/gnu-source.m4:
25139         Remove; we're assuming Autoconf 2.54 or later now.
25140         Suggested by Bruno Haible.
25141         * MODULES.html.sh (func_all_modules): Remove gnu-source.
25142
25143 2003-08-11  Bruno Haible  <bruno@clisp.org>
25144
25145         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
25146
25147 2003-08-11  Bruno Haible  <bruno@clisp.org>
25148
25149         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
25150         (vasnprintf): Use it instead of wcslen.
25151
25152 2003-08-11  Bruno Haible  <bruno@clisp.org>
25153
25154         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
25155         value to ensure that _Bool promotes to int. Use #define for _Bool when
25156         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
25157
25158 2003-08-10  Karl Berry  <karl@gnu.org>
25159
25160         * lib/regex.h: update from libc (whitespace fix).
25161
25162 2003-08-09  Paul Eggert  <eggert@twinsun.com>
25163
25164         Merge some files from coreutils.  These changes were
25165         originally made by Jim Meyering.
25166         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
25167         many older Unixes require this.
25168         * lib/alloca.c (alloca): Remove cast to argument of free;
25169         no longer needed in C89.
25170         * lib/alloca_.h, regex.h: Fix white space to match
25171         what GNU indent does.
25172
25173 2003-08-09  Paul Eggert  <eggert@twinsun.com>
25174
25175         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
25176         apparently Emacs's Unicode mode got confused before my 2003-08-05
25177         checkin.
25178
25179 2003-08-08  Paul Eggert  <eggert@twinsun.com>
25180
25181         * m4/extensions.m4: New file.
25182         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
25183         Require gl_USE_SYSTEM_EXTENSIONS.
25184         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
25185         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
25186
25187 2003-08-08  Paul Eggert  <eggert@twinsun.com>
25188
25189         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
25190         * modules/extensions, modules/gnu-source: New files.
25191         * modules/timespec, modules/unlocked-io: Depend on extensions.
25192
25193 2003-08-07  Paul Eggert  <eggert@twinsun.com>
25194
25195         * modules/restrict: New file.
25196         * MODULES.html.sh (func_all_modules): Add restrict.
25197         * modules/regex: Depend on restrict.
25198
25199 2003-08-07  Paul Eggert  <eggert@twinsun.com>
25200
25201         * m4/restrict.m4: New file.
25202         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
25203
25204 2003-08-07  Bruno Haible  <bruno@clisp.org>
25205
25206         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
25207         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
25208
25209 2003-08-07  Bruno Haible  <bruno@clisp.org>
25210
25211         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
25212         makes the module 'getndelim2' compatible with the module 'getline'.
25213
25214 2003-08-05  Paul Eggert  <eggert@twinsun.com>
25215
25216         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
25217         byte with "\201" to avoid glitches when editing that source file
25218         with multi-gnome-terminal.
25219
25220 2003-08-05  Paul Eggert  <eggert@twinsun.com>
25221
25222         * lib/bumpalloc.h: Remove.
25223
25224 2003-08-05  Paul Eggert  <eggert@twinsun.com>
25225
25226         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
25227         * modules/bumpalloc: Remove.
25228
25229 2003-08-04  Paul Eggert  <eggert@twinsun.com>
25230
25231         * lib/getloadavg.c: Change copyright notice and spacing to conform to
25232         GNU coding style.
25233
25234         Merge from coreutils.
25235         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
25236         1. From glibc.
25237         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
25238         from Karl Berry, implemented by Jim Meyering.
25239         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
25240         from Dmitry V. Levin.
25241         Remove anachronistic cast of xrealloc.
25242         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
25243         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
25244         type. Otherwise, it wouldn't compile with at least /bin/cc on
25245         ymp-cray-unicos9.0.2.X.
25246         Combine two mostly-identical uses of alloca into one.
25247         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
25248
25249 2003-08-04  Dave Love  <d.love@dl.ac.uk>
25250
25251         [From Emacs.]
25252
25253         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
25254         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
25255         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
25256         obsolete NLIST_NAME_UNION.
25257         [__GNU__]: Undef BSD and FSCALE.
25258         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
25259
25260 2003-08-03  Paul Eggert  <eggert@twinsun.com>
25261
25262         * lib/stdbool_.h (_Bool): Make it signed char, instead of
25263         an enum type, so that it's guaranteed to promote to int.  See:
25264         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
25265
25266 2003-08-03  Karl Berry  <karl@gnu.org>
25267
25268         * config/depcomp: update from automake.
25269
25270 2003-07-31  Paul Eggert  <eggert@twinsun.com>
25271
25272         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
25273         (strerror): Don't assume that a printable int fits in 14 bytes.
25274
25275 2003-07-31  Bruno Haible  <bruno@clisp.org>
25276
25277         * modules/getpass-gnu: New file.
25278         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
25279
25280 2003-07-31  Bruno Haible  <bruno@clisp.org>
25281
25282         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
25283
25284 2003-07-24  Karl Berry  <karl@gnu.org>
25285
25286         * config/missing: update from automake.
25287
25288 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
25289             Bruno Haible  <bruno@clisp.org>
25290
25291         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
25292         * lib/getline.c (getline, getdelim): Likewise.
25293         Remove _GNU_SOURCE define; now it's defined in config.h through
25294         m4/getline.m4.
25295
25296 2003-07-23  Karl Berry  <karl@gnu.org>
25297
25298         * config/config.sub: update from prep.
25299
25300 2003-07-22  Paul Eggert  <eggert@twinsun.com>
25301
25302         * modules/xalloc (Depends-on): Add exitfail.
25303         * modules/xmemcoll: Likewise.
25304
25305 2003-07-22  Paul Eggert  <eggert@twinsun.com>
25306
25307         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
25308         over-parenthesization in macros.
25309
25310         Sync with coreutils.
25311
25312         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
25313         required by C99.
25314
25315         Use `exit_failure' for xalloc and xmemcoll instead of their own
25316         private exit-failure variables.
25317         * lib/xalloc.h (xalloc_exit_failure): Remove.
25318         * lib/xmalloc.c: Likewise.  Include exitfail.h.
25319         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
25320         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
25321         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
25322         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
25323
25324 2003-07-20  Jim Meyering  <jim@meyering.net>
25325
25326         * modules/closeout (Depends-on): Add exitfail.
25327         Suggestion from Bruno Haible.
25328
25329 2003-07-19  Karl Berry  <karl@gnu.org>
25330
25331         * config/config.sub: update from prep.
25332
25333 2003-07-18  Paul Eggert  <eggert@twinsun.com>
25334
25335         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
25336         Remove.
25337         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
25338         to test that it can stand by itself.  Include "exitfail.h".
25339         Clients should set exit_failure instead.
25340         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
25341
25342 2003-07-18  Bruno Haible  <bruno@clisp.org>
25343
25344         * modules/getndelim2: New file.
25345         * modules/getline: Share files with module getndelim2.
25346         * modules/getnline: Depend on getndelim2 instead of sharing files with
25347         it. Add getnline.c to lib_SOURCES.
25348         * MODULES.html.sh (func_all_modules): Add getndelim2.
25349
25350 2003-07-18  Bruno Haible  <bruno@clisp.org>
25351
25352         * m4/getndelim2.m4: New file.
25353         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
25354         invoke gl_PREREQ_GETNDELIM2.
25355         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
25356         gl_PREREQ_GETNDELIM2.
25357         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
25358         gl_GETNDELIM2.
25359
25360 2003-07-18  Bruno Haible  <bruno@clisp.org>
25361
25362         * lib/getndelim2.h: New file.
25363         * lib/getndelim2.c: Make into a module of its own. Include config.h,
25364         getndelim2.h.
25365         (getndelim2): Make non-static. Change return type to ssize_t.
25366         * lib/getline.h: Change argument names.
25367         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
25368         * lib/getnline.c: Include getndelim2.h.
25369
25370 2003-07-18  Andreas Schwab  <schwab@suse.de>
25371
25372         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
25373
25374 2003-07-17  Karl Berry  <karl@gnu.org>
25375
25376         * config/config.sub: update from prep.
25377
25378 2003-07-17  Bruno Haible  <bruno@clisp.org>
25379
25380         * modules/getnline: New file.
25381         * modules/getline: Add lib/getndelim2.c to source file list.
25382         * MODULES.html.sh (func_all_modules): Add getnline.
25383
25384 2003-07-17  Bruno Haible  <bruno@clisp.org>
25385
25386         * m4/getnline.m4: New file.
25387
25388 2003-07-17  Bruno Haible  <bruno@clisp.org>
25389
25390         * m4/Makefile.am.in: Remove file.
25391         * m4/Makefile.am: Remove file.
25392         * m4/Makefile.in: Remove file.
25393
25394 2003-07-17  Bruno Haible  <bruno@clisp.org>
25395
25396         * lib/getnline.h: New file.
25397         * lib/getnline.c: New file.
25398         * lib/getndelim2.c: New file, extracted from getline.c.
25399         (getndelim2): Renamed from getdelim2, with added nmax argument.
25400         * lib/getline.c: Include getndelim2.c.
25401         (getdelim2): Moved out to getndelim2.c.
25402         (getline, getdelim): Update.
25403
25404 2003-07-17  Bruno Haible  <bruno@clisp.org>
25405
25406         * lib/Makefile.am: Remove file.
25407         * lib/Makefile.in: Remove file.
25408
25409 2003-07-17  Bruno Haible  <bruno@clisp.org>
25410
25411         * configure.in: Remove file.
25412         * Makefile.in: Remove file.
25413
25414 2003-07-17  Bruno Haible  <bruno@clisp.org>
25415
25416         * MODULES.html.sh: Put the </BODY> right before </HTML>.
25417
25418 2003-07-16  Karl Berry  <karl@gnu.org>
25419
25420         * config/srclist-update: was running fixlicense twice, which caused
25421                 texinfo.tex to be nullified for some reason.  Simplify,
25422                 $gplsrc is no longer needed as far as I can see?
25423
25424 2003-07-16  Jim Meyering  <jim@meyering.net>
25425
25426         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
25427
25428 2003-07-15  Paul Eggert  <eggert@twinsun.com>
25429
25430         * config/srclist.txt: Get the following files from gettext-runtime/intl
25431         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
25432         ref-del.sin.  From Bruno Haible.
25433         * config/srclist-update (fixfile): Change grep pattern again, since the
25434         previous fix didn't work (there was another trailing $).  Use
25435         '[$]' to escape the $s.
25436
25437 2003-07-15  Karl Berry  <karl@gnu.org>
25438
25439         * lib/vasnprintf.c: update from gettext.
25440
25441 2003-07-15  Karl Berry  <karl@gnu.org>
25442
25443         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
25444         gets expanded when surrounded by '$'.
25445
25446 2003-07-15  Jim Meyering  <jim@meyering.net>
25447
25448         * modules/save-cwd: Don't depend on error.  From Derek Price.
25449
25450 2003-07-15  Jim Meyering  <jim@meyering.net>
25451
25452         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
25453
25454 2003-07-14  Simon Josefsson  <jas@extundo.com>
25455
25456         * modules/mempcpy: New file.
25457         * MODULES.html.sh (func_all_modules): Add mempcpy.
25458
25459 2003-07-14  Simon Josefsson  <jas@extundo.com>
25460
25461         * m4/mempcpy.m4: New file.
25462
25463 2003-07-14  Simon Josefsson  <jas@extundo.com>
25464
25465         * lib/mempcpy.h: New file.
25466         * lib/mempcpy.c: New file.
25467
25468 2003-07-14  Paul Eggert  <eggert@twinsun.com>
25469
25470         * modules/getdate, modules/posixtm: Depend on mktime.
25471
25472 2003-07-14  Paul Eggert  <eggert@twinsun.com>
25473
25474         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
25475         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
25476         unicodeio.c, unicodeio.h, unlocked-io.h:
25477         Switch from LGPL to GPL.
25478
25479 2003-07-14  Paul Eggert  <eggert@twinsun.com>
25480
25481         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
25482         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
25483         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
25484         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
25485         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
25486         updated automatically by ../config/srclist-update.  This changes
25487         their license from LPGL to GPL.
25488
25489 2003-07-14  Paul Eggert  <eggert@twinsun.com>
25490
25491         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
25492         assumed to refer to the root of the most recent stable gettext version.
25493         * config/srclistvars.sh: Add defaults for eggert.
25494         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
25495         Match "This program" as well as "The program".  This is needed
25496         for gettext.
25497
25498 2003-07-14  Jim Meyering  <jim@meyering.net>
25499
25500         Don't emit diagnostics.  Let callers do that.
25501         * lib/save-cwd.c: Don't include "error.h".
25502         (save_cwd): Don't call error.  Ensure that errno is valid
25503         when returning nonzero.
25504
25505         * lib/save-cwd.h (restore_cwd): Update prototype.
25506         * lib/save-cwd.c (restore_cwd): Remove two parameters.
25507         Simplify.  Don't call error upon failure.  Let callers do that.
25508         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
25509         when auditing is enabled.  But don't bother updating the #if.
25510
25511 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
25512
25513         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
25514         it breaks C++ compilation.
25515         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
25516
25517 2003-07-10  Simon Josefsson  <jas@extundo.com>
25518
25519         * modules/strchrnul (Makefile.am): Add strchrnul.h.
25520
25521 2003-07-10  Jim Meyering  <jim@meyering.net>
25522
25523         * m4/clock_time.m4: Remove trailing blank.
25524         * m4/intmax_t.m4: Likewise.
25525
25526 2003-07-10  Jim Meyering  <jim@meyering.net>
25527
25528         * lib/vasnprintf.c: Remove trailing blanks.
25529         Make cpp indentation consistent.
25530
25531 2003-07-09  Paul Eggert  <eggert@twinsun.com>
25532
25533         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
25534         posixver.c, strftime.c, strnlen.c, strverscmp.c:
25535         Switch from LGPL to GPL.
25536
25537 2003-07-09  Paul Eggert  <eggert@twinsun.com>
25538
25539         * config/srclist.txt: Sort sublists.  Add
25540         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
25541         that differ from gnulib for one reason or another; we'd like this list
25542         to be smaller but for now let's document what we have.
25543
25544 2003-07-08  Paul Eggert  <eggert@twinsun.com>
25545
25546         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
25547         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
25548         and sweeter "eval x=$x".
25549         * config/srclist.txt: Get lib/argp* from glibc.
25550
25551 2003-07-07  Paul Eggert  <eggert@twinsun.com>
25552
25553         * lib/mktime.c: Fix some boundary cases and remove need for floating
25554         point.
25555
25556         Issue a compile-time diagnostic if time_t is floating point, or if
25557         two's complement arithmetic is not in effect, or if arithmetic
25558         right shift does not propagate the sign.  These assumptions were
25559         all in the original code but they weren't checked.
25560
25561         (TIME_T_MIDPOINT, verify): New macros.
25562         (__isleap): Remove; it has integer overflow problems.
25563         (leapyear): New function, without those problems.
25564         (ydhms_tm_diff): Remove; splitting into two parts.
25565         (ydhms_diff): New function, containing the arithmetic part of
25566         the old ydhms_tm_diff function.  Issue a compile-time
25567         diagnostic if we are not using C99 integer division.
25568         Avoid casts when possible.
25569         (guess_time_tm): New function, containing the checking part of
25570         the old ydhms_tm_diff function.  Return the new value, rather than
25571         the difference between it and the old.  Accept a new argument T
25572         so that *T specifies the old value.  Check for overflow in the result.
25573
25574         (__mktime_internal): Use a time_t offset, not a long int offset.
25575         This undoes the 2003-06-04 change, which is no longer needed now
25576         that we have better overflow checking.
25577         (localtime_offset): Likewise.
25578
25579         (__mktime_internal): Avoid harmful overflow on hosts where time_t
25580         and long are 64-bit but int is only 32-bit.
25581         (ydhms_diff): Use long int to store year1 and yday1.
25582         Issue a compile-time diagnostic if long int is not wide enough.
25583
25584         (__mktime_internal): Use long int to store adjusted year and yday.
25585         Use plain C rather than preprocessor commands, if that doesn't
25586         affect efficiency.
25587         Check for overflow (and try to repair) after each probe
25588         rather than checking only at the very end.  This avoids some bugs
25589         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
25590         does not equal GMT offset at maximum time).
25591         Use integer to check for overflow rather than floating point; this
25592         is more portable to non-IEEE hosts, and is a tad faster.
25593         When we detect that we are oscillating between two values,
25594         don't check whether tm_isdst has the requested value, since
25595         we already know the answer.  When tm_isdst has the wrong value,
25596         use a different heuristic to find the right one, based on the
25597         extreme values actually observed in practice in tz2003a,
25598         rather than the (overly optimistic) "previous 3 calendar quarters".
25599
25600         (not_equal_tm, print_tm, check_result): Use "const T" rather than
25601         "T const" to accommodate glibc style.
25602         (check_result): Use less-confusing report format.  "long" -> "long int.
25603         (main): Likewise.
25604         Don't loop if the iteration overflows time_t.
25605         Allow a negative step in the iteration.
25606
25607 2003-07-06  Karl Berry  <karl@gnu.org>
25608
25609         * config/depcomp: update from automake.
25610         * config/config.sub: update from prep.
25611
25612 2003-07-03  Karl Berry  <karl@gnu.org>
25613
25614         * config/config.guess: update from prep.
25615
25616 2003-07-01  Paul Eggert  <eggert@twinsun.com>
25617
25618         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
25619         xreadlink.c now includes it unconditionally.
25620
25621 2003-07-01  Paul Eggert  <eggert@twinsun.com>
25622
25623         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
25624         having it depend on HAVE_SYS_TYPES_H.
25625
25626 2003-07-01  Bruno Haible  <bruno@clisp.org>
25627
25628         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
25629         <sys/types.h> should be sufficient.
25630         Reported by Paul Eggert.
25631
25632 2003-06-26  Karl Berry  <karl@gnu.org>
25633
25634         * config/depcomp: update from automake.
25635
25636 2003-06-26  Bruno Haible  <bruno@clisp.org>
25637
25638         * modules/human: Depend on module stdbool.
25639
25640 2003-06-25  Bruno Haible  <bruno@clisp.org>
25641
25642         * modules/readlink: New file.
25643         * modules/xreadlink: Depend on it.
25644         * MODULES.html.sh (func_all_modules): Add readlink.
25645
25646 2003-06-25  Bruno Haible  <bruno@clisp.org>
25647
25648         * m4/readlink.m4: New file.
25649
25650 2003-06-25  Bruno Haible  <bruno@clisp.org>
25651
25652         * lib/readlink.c: New file.
25653
25654 2003-06-22  Karl Berry  <karl@gnu.org>
25655
25656         * config/srclist.txt: update mkinstalldirs from automake.
25657         * config/mkinstalldirs: update.
25658
25659 2003-06-22  Bruno Haible  <bruno@clisp.org>
25660
25661         Portability to mingw32.
25662         * m4/ssize_t.m4: New file, from GNU gettext.
25663         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
25664         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
25665
25666 2003-06-22  Bruno Haible  <bruno@clisp.org>
25667
25668         * modules/safe-read: Add m4/ssize_t.m4.
25669         * modules/xreadlink: Add m4/ssize_t.m4.
25670
25671 2003-06-20  Bruno Haible  <bruno@clisp.org>
25672
25673         Assume C89, so PARAMS isn't needed.
25674         * lib/unicodeio.h (PARAMS): Remove.
25675         * lib/unicodeio.c: Don't use PARAMS.
25676
25677 2003-06-18  Karl Berry  <karl@gnu.org>
25678
25679         * config/config.{guess,sub}: update from prep.
25680
25681 2003-06-18  Jim Meyering  <jim@meyering.net>
25682
25683         Merge changes from coreutils.
25684         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
25685         Remove explicit declarations of xmalloc and realloc.
25686         Include xalloc.h.
25687         (read_utmp): Remove anachronistic cast of xmalloc.
25688
25689 2003-06-17  Paul Eggert  <eggert@twinsun.com>
25690
25691         Assume C89, so PARAMS isn't needed.
25692         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
25693         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
25694         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
25695         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
25696         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
25697         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
25698         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
25699         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
25700         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
25701         lib/xstrtod.h, lib/xstrtol.h: Likewise.
25702         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
25703         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
25704         no longer needed. Anyway, config.h should always be included before any
25705         other file.
25706
25707 2003-06-11  Simon Josefsson  <jas@extundo.com>
25708
25709         * modules/sysexits: New file.
25710         * MODULES.html.sh (func_all_modules): Add sysexits.
25711
25712 2003-06-11  Simon Josefsson  <jas@extundo.com>
25713
25714         * lib/sysexit_.h: New file.
25715
25716 2003-06-11  Derek Price  <derek@ximbiot.com>
25717
25718         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
25719         necessary.
25720
25721 2003-06-11  Bruno Haible  <bruno@clisp.org>
25722
25723         * m4/sysexits.m4: New file.
25724
25725 2003-06-10  Simon Josefsson  <jas@extundo.com>
25726
25727         * lib/argp.h: New file, from glibc.
25728         * lib/argp-ba.c: New file, from glibc.
25729         * lib/argp-eexst.c: New file, from glibc.
25730         * lib/argp-fmtstream.c: New file, from glibc.
25731         * lib/argp-fmtstream.h: New file, from glibc.
25732         * lib/argp-fs-xinl.c: New file, from glibc.
25733         * lib/argp-help.c: New file, from glibc.
25734         * lib/argp-namefrob.h: New file, from glibc.
25735         * lib/argp-parse.c: New file, from glibc.
25736         * lib/argp-pv.c: New file, from glibc.
25737         * lib/argp-pvh.c: New file, from glibc.
25738         * lib/argp-xinl.c: New file, from glibc.
25739
25740 2003-06-10  Simon Josefsson  <jas@extundo.com>
25741
25742         * modules/strchrnul: New file.
25743
25744 2003-06-10  Simon Josefsson  <jas@extundo.com>
25745
25746         * modules/argp: New file.
25747
25748 2003-06-10  Simon Josefsson  <jas@extundo.com>
25749
25750         * m4/strchrnul.m4: New file.
25751
25752 2003-06-10  Simon Josefsson  <jas@extundo.com>
25753
25754         * lib/strchrnul.h: New file.
25755         * lib/strchrnul.c: New file.
25756
25757 2003-06-10  Bruno Haible  <bruno@clisp.org>
25758
25759         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
25760
25761 2003-06-07  Karl Berry  <karl@gnu.org>
25762
25763         * config/config.{guess,sub}: update from prep.
25764
25765 2003-06-07  Jim Meyering  <jim@meyering.net>
25766
25767         * modules/strtod: Use $(...) notation, not @...@ for
25768         AC_REPLACE'd variables.
25769         * modules/localcharset: Likewise.
25770
25771 2003-06-07  Jim Meyering  <jim@meyering.net>
25772
25773         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
25774         in place of my name in the copyright comment.
25775         Remove definition and uses of __P.
25776
25777         From coreutils.
25778         * lib/stat.c: Don't declare xmalloc explicitly.
25779         Instead, include "xalloc.h".
25780         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
25781         xrealloc, and xcalloc return values.
25782         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
25783         Improve comment.
25784         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
25785
25786 2003-06-07  Bruno Haible  <bruno@clisp.org>
25787
25788         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
25789         avoid AC_CONFIG_LINKS.
25790         * modules/fnmatch (Makefile.am): Use explicit creation rule for
25791         fnmatch.h, to avoid AC_CONFIG_LINKS.
25792         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
25793
25794 2003-06-07  Bruno Haible  <bruno@clisp.org>
25795
25796         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
25797         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
25798         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
25799         directory.
25800         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
25801         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
25802         directory.
25803
25804 2003-06-06  Jim Meyering  <jim@meyering.net>
25805
25806         Merge from coreutils.
25807         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
25808         Consolidate declarations and initializations of *_base* locals.
25809
25810         Merge from coreutils.
25811         This avoids a core dump on systems without GNU putenv,
25812         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
25813         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
25814         (unsetenv): New static function, from GNU libc.
25815         (rpl_putenv): Use it.
25816
25817         * lib/modechange.c: Remove trailing blanks.
25818
25819         Merge from coreutils.
25820         * lib/fsusage.c: Remove declaration of statfs.
25821         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
25822
25823         * lib/posixtm.c: Include <stdbool.h> unconditionally.
25824
25825 2003-06-06  Jim Meyering  <jim@meyering.net>
25826
25827         * lib/stdbool_.h: Renamed from stdbool.h.in.
25828
25829 2003-06-06  Jim Meyering  <jim@meyering.net>
25830             Bruno Haible  <bruno@clisp.org>
25831
25832         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
25833         Adjust Makefile.am snippet not to redirect directly to target.
25834         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
25835
25836 2003-06-05  Paul Eggert  <eggert@twinsun.com>
25837
25838         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
25839         mismatch, look in future quarters as well as past.  This fixes a
25840         bug when processing fall-backwards gaps immediately after a long
25841         period of daylight-saving time.
25842
25843         * lib/mktime.c: Assume freestanding C89 or better.
25844         (HAVE_LIMITS_H): Remove.  Assume it's 1.
25845         (__P): Remove; not used.
25846         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
25847         (mktime, not_equal_tm, print_tm, check_result,
25848         main): Use prototypes.  Use const * where appropriate.
25849         (main): Fix typo in testing code that uncovered by above changes.
25850         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
25851
25852 2003-06-04  Paul Eggert  <eggert@twinsun.com>
25853
25854         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
25855         locale.h, localeconv.  This merges changes from coreutils.
25856
25857         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
25858         It can be removed after the next Autoconf is released.
25859         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
25860         needed.
25861
25862 2003-06-04  Paul Eggert  <eggert@twinsun.com>
25863
25864         * lib/mktime.c: Fix Debian bug 177940
25865         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
25866         (localtime_offset): Now long int, not time_t, because we want it
25867         to be guaranteed to be signed.  All uses changed.
25868         (__mktime_internal): If overflow would occur when adding offset,
25869         don't add it.
25870
25871         Merge 'human' changes from coreutils.  Rewrite to support
25872         locale-specific notations like thousands separators.
25873         * lib/human.c: Simplify authorship notice.
25874         Include human.h immediately after config.h.
25875         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
25876         <limits.h>: Do not include, since human.h does.
25877         (SIZE_MAX, UINTMAX_MAX): New macros.
25878         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
25879         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
25880         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
25881         (power_letter): Renamed from suffixes.
25882         (generate_suffix_backwards): Remove.
25883         (adjust_value): Now takes int style (because of human.h changes)
25884         and long double value (for greater precision on some platforms).
25885         (group_number): New function.
25886         (human_readable): Use it.  Use integer options, not enum.
25887         Put the options before the sizes in the arg list.
25888         Support all the new options.
25889         The old human_readable function has been removed;
25890         use inttostr.h instead.
25891         (human_readable, default_block_size, humblock):
25892         Use uintmax_t, not int, for block sizes.
25893         (human_readable_inexact, block_size_types): Remove.
25894         (block_size_opts): New constant.
25895         (human_options): Renamed from human_block_size, with new signature
25896         that allows block sizes up to UINTMAX_MAX.  All callers changed.
25897         * lib/human.h: Add copyright and authorship notice.
25898         Include <limits.h> and <stdbool.h> unconditionally.
25899         (PARAMS): Remove.  All uses removed.
25900         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
25901         (enum human_inexact_style): Remove tag; now a nameless enum.
25902         (human_floor, human_ceiling, human_round_to_even): Now have
25903         values 2, 0, 1 rather than -1, 1, 0.
25904         (human_group_digits, human_suppress_point_zero, human_autoscale,
25905         human_base_1024, human_SI, human_B): New constants.
25906         (human_readable_inexact, human_block_size): Remove.
25907         (human_readable): Size args are now uintmax_t, not int.
25908         (human_options): New decl.
25909
25910         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
25911         unnecessary now that we assume C89 or better.  This change
25912         imported from coreutils.
25913
25914         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
25915         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
25916         in the 2003-05-30 sync from glibc.
25917
25918         .h files should stand alone, but we shouldn't include <sys/types.h>
25919         if we can get away with just <stddef.h>.
25920
25921         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
25922         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
25923         rather than <sys/types.h>, as we merely need size_t.
25924         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
25925         to get size_t.
25926         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
25927         Include <stdio.h>, to get FILE.
25928         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
25929         memcasecmp.h has included <stddef.h> and all we need is size_t.
25930         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
25931         our interface, instead of including <sys/types.h>
25932
25933 2003-06-04  Paul Eggert  <eggert@twinsun.com>
25934
25935         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
25936         now, as glibc mktime is buggy on non-glibc systems.
25937
25938 2003-06-03  Karl Berry  <karl@gnu.org>
25939
25940         * config/config.sub: update from prep.
25941
25942 2003-06-02  Paul Eggert  <eggert@twinsun.com>
25943
25944         [from coreutils]
25945         Fix some minor time-related bugs with POSIX time arguments.
25946         Some valid time stamps were being rejected (notably -1, and
25947         time stamps before 1900 on 64-bit hosts).  And some invalid
25948         time stamps were being accepted, e.g. September 31.
25949
25950         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
25951         that we can return (time_t) -1 successfully.
25952         * lib/posixtm.c: Likewise.
25953         [HAVE_STDBOOL_H]: Include <stdbool.h>.
25954         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
25955         (t): Remove static var.
25956         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
25957         of static var.  All uses changed.
25958         (year): Do not reject years before 1900; they can occur with
25959         64-bit time_t.
25960         (posix_time_parse): Do not check for out-of-range components;
25961         that is now the caller's responsibility, since our checks were
25962         only approximations.
25963         (posixtime): Use mktime to check for out-of-range components,
25964         since it knows them exactly.
25965         If mktime returns (time_t) -1, check whether an error actually occurred
25966         by invoking localtime on -1.
25967         (main) [TEST_POSIXTIME]: Check for input data errors, and report
25968         posixtime failures better.
25969         Improve the test data (in comments only).
25970
25971 2003-06-02  Karl Berry  <karl@gnu.org>
25972
25973         * config/mkinstalldirs (version): new variable.
25974         (--version): new option.
25975         (usage): improve message.
25976
25977 2003-05-30  Karl Berry  <karl@gnu.org>
25978
25979         * lib/mktime.c: update from libc.
25980
25981 2003-05-30  Bruno Haible  <bruno@clisp.org>
25982
25983         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
25984         * config/config.rpath: Upgrade to gettext-0.12.1.
25985
25986 2003-05-30  Bruno Haible  <bruno@clisp.org>
25987
25988         * m4/gettext.m4: Upgrade to gettext-0.12.1.
25989         * m4/nls.m4: New file, from gettext-0.12.1.
25990         * m4/po.m4: New file, from gettext-0.12.1.
25991         * m4/progtest.m4: Upgrade to gettext-0.12.1.
25992
25993 2003-05-30  Bruno Haible  <bruno@clisp.org>
25994
25995         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
25996         * lib/localcharset.h: Likewise.
25997         * lib/localcharset.c: Likewise.
25998
25999 2003-05-29  Karl Berry  <karl@gnu.org>
26000
26001         * config/config.rpath: update from gettext.
26002
26003 2003-05-28  Paul Eggert  <eggert@twinsun.com>
26004
26005         Assume the headers required for C89 freestanding compilers.
26006         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
26007         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
26008         * m4/human.m4 (gl_HUMAN): Likewise.
26009         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
26010         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
26011         * m4/userspec.m4 (gl_USERSPEC): Likewise.
26012         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
26013         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
26014         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
26015
26016 2003-05-28  Paul Eggert  <eggert@twinsun.com>
26017
26018         Assume the headers required for C89 freestanding compilers.
26019         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
26020         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
26021         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
26022         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
26023         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
26024         define, since <limits.h> is guaranteed to do that.
26025         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
26026         * lib/exclude.c: Include <stdbool.h> unconditionally.
26027         * lib/tempname.c: Include <stddef.h> unconditionally.
26028         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
26029         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
26030         <stddef.h> does that.
26031         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
26032         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
26033         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
26034         needed.
26035         * lib/xstrtol.c: Likewise.
26036         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
26037         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
26038
26039         * lib/addext.c (addext): Use assignment rather than cast, to avoid
26040         warnings on some platforms.
26041
26042         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
26043         arbitrarily.
26044
26045 2003-05-26  Jim Meyering  <jim@meyering.net>
26046
26047         Merge in a change from coreutils:
26048         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
26049         that is guaranteed to be `no'.  Use `no_such_member' to indicate
26050         that condition, rather than `-1' which is slightly misleading.
26051         Change the name of the cache variable to have the gl_ prefix.
26052         Prompted by a patch from Richard Dawe for DJGPP.
26053
26054 2003-05-24  Karl Berry  <karl@gnu.org>
26055
26056         * config/config.guess: update from prep.
26057
26058 2003-05-22  Karl Berry  <karl@gnu.org>
26059
26060         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
26061
26062 2003-05-20  Karl Berry  <karl@gnu.org>
26063
26064         * config/config.guess: update from prep.
26065
26066 2003-05-18  Karl Berry  <karl@gnu.org>
26067
26068         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
26069         might actually be set by the user.
26070
26071         * config/depcomp, install-sh, mdate-sh: update from automake.
26072
26073 2003-05-17  Bruno Haible  <bruno@clisp.org>
26074
26075         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
26076         invalid expansion for AC_EGREP_CPP.
26077         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
26078         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
26079         Suggested by Akim Demaille <akim@epita.fr> in
26080         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
26081
26082 2003-05-12  Jim Meyering  <jim@meyering.net>
26083
26084         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
26085         the space-padded-by-default conversion specifiers, %e, %k, %l.
26086
26087 2003-05-12  Bruno Haible  <bruno@clisp.org>
26088
26089         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
26090         the string is longer than 4 KB.
26091
26092 2003-05-11  Karl Berry  <karl@gnu.org>
26093
26094         * config/config.{guess,sub}: update from prep.
26095
26096 2003-05-09  Bruno Haible  <bruno@clisp.org>
26097
26098         * modules/error: Add m4/strerror_r.m4 to file list.
26099
26100 2003-05-03  Bruno Haible  <bruno@clisp.org>
26101
26102         Upgrade to Unicode-4.0.
26103         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
26104         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
26105         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
26106         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
26107         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
26108         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
26109         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
26110         Change width of U+E0100..U+E01EF from 1 to 0.
26111
26112 2003-04-25  Jim Meyering  <jim@meyering.net>
26113
26114         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
26115         of type size_t, not int.
26116
26117 2003-04-25  Bruno Haible  <bruno@clisp.org>
26118
26119         * lib/copy-file.c: Include <stddef.h>, for size_t.
26120
26121 2003-04-21  Paul Eggert  <eggert@twinsun.com>
26122
26123         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
26124         code which expansion is under static control.  Patch imported from
26125         Akim Demaille's patch to Bison; see
26126         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
26127
26128 2003-04-14  Bruno Haible  <bruno@clisp.org>
26129
26130         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
26131
26132 2003-04-11  Jim Meyering  <jim@meyering.net>
26133
26134         Merge changes from Coreutils.
26135
26136         2003-03-22  Jim Meyering  <jim@meyering.net>
26137
26138         * lib/strftime.c (widen): Cast alloca return value to proper type.
26139
26140         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
26141
26142         From GNU libc.
26143         * lib/strftime.c (my_strftime): Handle very large width
26144         specifications for numeric values correctly.  Improve checks for
26145         overflow.
26146
26147         2003-01-19  Jim Meyering  <jim@meyering.net>
26148
26149         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
26150         definitions.
26151         (nl_get_alt_digit) [! defined my_strftime]: Define.
26152         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
26153         _nl_get_alt_digit and _nl_get_walt_digit.
26154
26155         * lib/strftime.c (my_strftime): Merge in locale-related changes from
26156         libc. These changes have no effect outside of _LIBC.
26157
26158 2003-04-10  Bruno Haible  <bruno@clisp.org>
26159
26160         * modules/findprog: New file.
26161         * MODULES.html.sh (func_all_modules): Add it.
26162
26163 2003-04-10  Bruno Haible  <bruno@clisp.org>
26164
26165         * m4/findprog.m4: New file.
26166         * m4/eaccess.m4: New file.
26167
26168 2003-04-10  Bruno Haible  <bruno@clisp.org>
26169
26170         * lib/findprog.h: New file, from GNU gettext.
26171         * lib/findprog.c: New file, from GNU gettext.
26172
26173 2003-04-05  Jim Meyering  <jim@meyering.net>
26174
26175         Merge changes from Coreutils.
26176
26177         * lib/exclude.h (PARAMS): Remove definition and uses.
26178         * lib/exclude.c: Remove uses of `PARAMS'.
26179
26180         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
26181         Add test-cases for DOS filenames. Declare program_name.
26182         (main): Set up program_name.  Patch by Rich Dawe.
26183
26184         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
26185         error from mntctl.
26186         Use mntctl's return value to drive the entry-processing loop, since
26187         we can't rely on the value of the vmt_length member in the last
26188         entry.  On some systems doing so could result in exhausting
26189         virtual memory.  Based in part on a patch from Mike Jetzer.
26190
26191 2003-04-04  Bruno Haible  <bruno@clisp.org>
26192
26193         * modules/linebreak: New file.
26194         * MODULES.html.sh (func_all_modules): Add it.
26195
26196 2003-04-04  Bruno Haible  <bruno@clisp.org>
26197
26198         * m4/linebreak.m4: New file.
26199
26200 2003-04-04  Bruno Haible  <bruno@clisp.org>
26201
26202         * lib/linebreak.h: New file, from GNU gettext.
26203         * lib/linebreak.c: New file, from GNU gettext with slight
26204         modifications.
26205         * lib/lbrkprop.h: New file, from GNU gettext.
26206
26207 2003-04-03  Bruno Haible  <bruno@clisp.org>
26208
26209         * modules/utf8-ucs4: New file.
26210         * modules/utf16-ucs4: New file.
26211         * modules/ucs4-utf8: New file.
26212         * modules/ucs4-utf16: New file.
26213         * MODULES.html.sh (func_all_modules): Add them.
26214
26215 2003-04-03  Bruno Haible  <bruno@clisp.org>
26216
26217         * m4/utf-ucs4.m4: New file.
26218         * m4/ucs4-utf.m4: New file.
26219
26220 2003-04-03  Bruno Haible  <bruno@clisp.org>
26221
26222         * lib/utf8-ucs4.h: New file, from GNU gettext.
26223         * lib/utf16-ucs4.h: New file, from GNU gettext.
26224         * lib/ucs4-utf8.h: New file, from GNU gettext.
26225         * lib/ucs4-utf16.h: New file, from GNU gettext.
26226
26227 2003-04-02  Bruno Haible  <bruno@clisp.org>
26228
26229         * modules/binary-io: New file.
26230         * MODULES.html.sh (func_all_modules): Add it.
26231
26232 2003-04-02  Bruno Haible  <bruno@clisp.org>
26233
26234         * lib/binary-io.h: New file, from GNU gettext.
26235
26236 2003-04-01  Bruno Haible  <bruno@clisp.org>
26237
26238         * modules/pathname: New file.
26239         * MODULES.html.sh (func_all_modules): Add it.
26240
26241 2003-04-01  Bruno Haible  <bruno@clisp.org>
26242
26243         * lib/pathname.h: New file, from GNU gettext.
26244         * lib/concatpath.c: New file, from GNU gettext.
26245
26246 2003-03-30  Bruno Haible  <bruno@clisp.org>
26247
26248         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
26249
26250 2003-03-30  Bruno Haible  <bruno@clisp.org>
26251
26252         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
26253         function chown() doesn't exist.
26254
26255 2003-03-28  Bruno Haible  <bruno@clisp.org>
26256
26257         * modules/copy-file: New file.
26258         * MODULES.html.sh (func_all_modules): Add it.
26259
26260 2003-03-28  Bruno Haible  <bruno@clisp.org>
26261
26262         * m4/copy-file.m4: New file.
26263
26264 2003-03-28  Bruno Haible  <bruno@clisp.org>
26265
26266         * lib/copy-file.h: New file, from GNU gettext.
26267         * lib/copy-file.c: New file, from GNU gettext.
26268
26269 2003-03-18  Jim Meyering  <jim@meyering.net>
26270
26271         * lib/quote.c (quote_n): Fix typo in comment.
26272
26273 2003-03-18  Bruno Haible  <bruno@clisp.org>
26274
26275         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
26276         checking.
26277         * m4/onceonly_2_57.m4: Likewise.
26278
26279 2003-03-17  Bruno Haible  <bruno@clisp.org>
26280
26281         * m4/onceonly.m4: Require autoconf 2.54 or newer.
26282         (m4_quote): Remove macro.
26283         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
26284
26285 2003-03-14  Jim Meyering  <jim@meyering.net>
26286
26287         Merge changes from Coreutils.
26288         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
26289         to be const, in order to avoid warnings.
26290         (obstack_room): Likewise.
26291         (obstack_empty_p): Likewise.
26292
26293 2003-03-14  Bruno Haible  <bruno@clisp.org>
26294
26295         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
26296         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
26297
26298 2003-03-13  Paul Eggert  <eggert@twinsun.com>
26299
26300         Merge changes from Bison.
26301         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
26302         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
26303         when compiling Bison 1.875's `bitset bset = obstack_alloc
26304         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
26305         * lib/hash.c: Include <stdbool.h> unconditionally.
26306
26307 2003-03-13  Paul Eggert  <eggert@twinsun.com>
26308
26309         * m4/onceonly.m4 (m4_quote): New macro.
26310         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
26311         Quote AC_FOREACH variable-expansions properly.
26312
26313 2003-03-13  Paul Eggert  <eggert@twinsun.com>
26314
26315         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
26316
26317 2003-03-09  Paul Eggert  <eggert@twinsun.com>
26318
26319         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
26320         Reported by Bruce Becker; see:
26321         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
26322
26323 2003-03-03  Paul Eggert  <eggert@twinsun.com>
26324             Bruno Haible  <bruno@clisp.org>
26325
26326         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
26327         Reported by John Hughes, see
26328         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
26329
26330 2003-02-20  Bruno Haible  <bruno@clisp.org>
26331
26332         * MODULES.html.sh (func_all_modules): Add poll.
26333
26334 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
26335
26336         * modules/poll: New file.
26337
26338 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
26339
26340         * lib/poll_.h: New file.
26341         * lib/poll.c: New file.
26342
26343 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
26344
26345         * m4/poll.m4: New file.
26346
26347 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
26348
26349         * modules/mathl: New file.
26350
26351 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
26352
26353         * lib/mathl.h: New file.
26354         * lib/acosl.c: New file.
26355         * lib/asinl.c: New file.
26356         * lib/atanl.c: New file.
26357         * lib/ceill.c: New file.
26358         * lib/cosl.c: New file.
26359         * lib/expl.c: New file.
26360         * lib/floorl.c: New file.
26361         * lib/frexpl.c: New file.
26362         * lib/ldexpl.c: New file.
26363         * lib/logl.c: New file.
26364         * lib/sincosl.c: New file.
26365         * lib/sinl.c: New file.
26366         * lib/sqrtl.c: New file.
26367         * lib/tanl.c: New file.
26368         * lib/trigl.c: New file.
26369         * lib/trigl.h: New file.
26370
26371 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
26372
26373         * m4/mathl.m4: New file.
26374
26375 2003-02-18  Bruno Haible  <bruno@clisp.org>
26376
26377         * MODULES.html.sh (func_all_modules): Add mathl.
26378
26379 2003-02-17  Bruno Haible  <bruno@clisp.org>
26380
26381         * modules/mkdtemp: New module.
26382         * MODULES.html.sh (func_all_modules): Add it.
26383
26384 2003-02-17  Bruno Haible  <bruno@clisp.org>
26385
26386         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
26387
26388 2003-02-17  Bruno Haible  <bruno@clisp.org>
26389
26390         * lib/mkdtemp.h: New file, from GNU gettext.
26391         * lib/mkdtemp.c: New file, from GNU gettext.
26392
26393 2003-02-02  Jim Meyering  <jim@meyering.net>
26394
26395         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
26396         e.g. glibc-2.2.93.
26397
26398 2003-01-31  Bruno Haible  <bruno@clisp.org>
26399
26400         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
26401         'rpl_rename'.
26402         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
26403         'rpl_strnlen'.
26404         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
26405         'rpl_strtod'.
26406         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
26407         'rpl_utime'.
26408
26409 2003-01-31  Bruno Haible  <bruno@clisp.org>
26410
26411         * lib/rename.c: #undef rename before defining rpl_rename.
26412         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
26413
26414 2003-01-30  Bruno Haible  <bruno@clisp.org>
26415
26416         * modules/vasnprintf, modules/vasprintf: New modules.
26417         * MODULES.html.sh (func_all_modules): Add them.
26418
26419 2003-01-30  Bruno Haible  <bruno@clisp.org>
26420
26421         * m4/signed.m4: New file, from GNU gettext.
26422         * m4/longdouble.m4: New file, from GNU gettext.
26423         * m4/wchar_t.m4: New file, from GNU gettext.
26424         * m4/wint_t.m4: New file, from GNU gettext.
26425         * m4/vasnprintf.m4: New file.
26426         * m4/vasprintf.m4: New file.
26427
26428 2003-01-30  Bruno Haible  <bruno@clisp.org>
26429
26430         * lib/printf-args.h: New file, from GNU gettext.
26431         * lib/printf-args.c: New file, from GNU gettext.
26432         * lib/printf-parse.h: New file, from GNU gettext.
26433         * lib/printf-parse.c: New file, from GNU gettext.
26434         * lib/vasnprintf.h: New file, from GNU gettext.
26435         * lib/vasnprintf.c: New file, from GNU gettext.
26436         * lib/asnprintf.c: New file, from GNU gettext.
26437         * lib/vasprintf.h: New file, from GNU gettext with modifications.
26438         * lib/vasprintf.c: New file, from GNU gettext.
26439         * lib/asprintf.c: New file, from GNU gettext.
26440
26441 2003-01-29  Bruno Haible  <bruno@clisp.org>
26442
26443         * modules/stpncpy: New module.
26444         * MODULES.html.sh (func_all_modules): Add it.
26445
26446 2003-01-29  Bruno Haible  <bruno@clisp.org>
26447
26448         * m4/stpncpy.m4: New file.
26449
26450 2003-01-29  Bruno Haible  <bruno@clisp.org>
26451
26452         * lib/stpncpy.h: New file, from GNU gettext with modifications.
26453         * lib/stpncpy.c: New file, from GNU gettext with modifications.
26454
26455 2003-01-28  Bruno Haible  <bruno@clisp.org>
26456
26457         * modules/c-ctype: New module.
26458         * MODULES.html.sh (func_all_modules): Add it.
26459
26460 2003-01-28  Bruno Haible  <bruno@clisp.org>
26461
26462         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
26463         Paul Eggert.
26464         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
26465         Paul Eggert.
26466
26467 2003-01-27  Bruno Haible  <bruno@clisp.org>
26468
26469         * modules/xsetenv: New module.
26470         * MODULES.html.sh (func_all_modules): Add it.
26471
26472 2003-01-27  Bruno Haible  <bruno@clisp.org>
26473
26474         * lib/xsetenv.h: New file, from GNU gettext.
26475         * lib/xsetenv.c: New file, from GNU gettext.
26476
26477 2003-01-23  Jim Meyering  <jim@meyering.net>
26478
26479         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
26480         from working on systems without dirfd (at least Irix and OSF1/Tru64).
26481
26482 2003-01-23  Bruno Haible  <bruno@clisp.org>
26483
26484         * modules/minmax: New module.
26485         * MODULES.html.sh (func_all_modules): Add it.
26486
26487 2003-01-23  Bruno Haible  <bruno@clisp.org>
26488
26489         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
26490         Eggert.
26491
26492 2003-01-22  Bruno Haible  <bruno@clisp.org>
26493
26494         * modules/exit: New module.
26495         * MODULES.html.sh (func_all_modules): Add it.
26496
26497 2003-01-22  Bruno Haible  <bruno@clisp.org>
26498
26499         * lib/exit.h: New file, from GNU gettext.
26500
26501 2003-01-19  Bruno Haible  <bruno@clisp.org>
26502
26503         * gnulib-tool: Recognize option --extract-maintainer.
26504         (func_get_maintainer): New function.
26505         * modules/*: Add Maintainer entry.
26506
26507 2003-01-16  Jim Meyering  <jim@meyering.net>
26508
26509         * m4/regex.m4: The `regex' struct is both input and output.
26510         Initialize it before each use.  Patch by Tim Waugh.
26511
26512 2003-01-16  Bruno Haible  <bruno@clisp.org>
26513
26514         * MODULES.html.sh: Add a table of contents. Add the module name as
26515         leftmost column. Add hyperlinks.
26516
26517 2003-01-15  Bruno Haible  <bruno@clisp.org>
26518
26519         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
26520
26521 2003-01-15  Bruno Haible  <bruno@clisp.org>
26522
26523         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
26524         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
26525         suffix.
26526
26527 2003-01-15  Bruno Haible  <bruno@clisp.org>
26528
26529         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
26530
26531 2003-01-15  Bruno Haible  <bruno@clisp.org>
26532
26533         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
26534         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
26535
26536 2003-01-14  Jim Meyering  <jim@meyering.net>
26537
26538         * lib/same.c (same_name): Tweak a comment.
26539
26540 2003-01-14  Bruno Haible  <bruno@clisp.org>
26541
26542         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
26543         when a string comparison is sufficient.
26544
26545 2003-01-14  Bruno Haible  <bruno@clisp.org>
26546
26547         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
26548         'unsigned int'.
26549
26550 2003-01-14  Bruno Haible  <bruno@clisp.org>
26551
26552         * lib/hash-pjw.c: Add comment about low quality of this function.
26553
26554 2003-01-13  Bruno Haible  <bruno@clisp.org>
26555
26556         * modules/stpcpy: Distribute lib/stpcpy.h.
26557         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
26558
26559 2003-01-13  Bruno Haible  <bruno@clisp.org>
26560
26561         * modules/*: Add a description.
26562         * modules/strpbrk: Fix Makefile.am snippet.
26563         * modules/strtoimax: Fix dependencies.
26564         * modules/strtoumax: Likewise.
26565
26566 2003-01-13  Bruno Haible  <bruno@clisp.org>
26567
26568         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
26569         * modules/alloca (Makefile.am): All object files depend on alloca.h.
26570         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
26571
26572 2003-01-13  Bruno Haible  <bruno@clisp.org>
26573
26574         * gnulib-tool (func_create_testdir): Store config/* files in the main
26575         directory.
26576         * config.rpath: Move to ...
26577         * config/config.rpath: ... here.
26578         * modules/gettext: Contains config/config.rpath, not config.rpath.
26579         * modules/iconv: Likewise.
26580
26581 2003-01-12  Paul Eggert  <eggert@twinsun.com>
26582
26583         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
26584         to avoid collisions with libcurses and libreadline.
26585
26586         * m4/getstr.m4: Remove.
26587         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
26588
26589 2003-01-12  Paul Eggert  <eggert@twinsun.com>
26590
26591         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
26592         to avoid collisions with libcurses and libreadline.
26593
26594         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
26595         * lib/getstr.h, getstr.c: Remove.
26596         * lib/getline.c: Include "getline.h", to check interface.
26597         Move body of old getstr.c here: this defines MIN_CHUNK and
26598         declares getdelim2, which is renamed from getstr.
26599         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
26600
26601         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
26602         All uses changed.
26603         * lib/linebuffer.h: Likewise.
26604         (readline): Remove backward-compatibility macro.
26605
26606 2003-01-12  Paul Eggert  <eggert@twinsun.com>
26607
26608         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
26609         to avoid collisions with libcurses and libreadline.
26610         * getstr: Remove.
26611         * MODULES.html.sh: Remove getstr.
26612         * modules/getline: Depend on unlocked-io, not getstr.
26613
26614 2003-01-12  Jim Meyering  <jim@meyering.net>
26615
26616         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
26617
26618 2003-01-10  Bruno Haible  <bruno@clisp.org>
26619
26620         * modules/alloca: Change Makefile.am requirements. Simplify Include
26621         requirements. Add lib/alloca_.h to file list.
26622
26623 2003-01-10  Bruno Haible  <bruno@clisp.org>
26624
26625         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
26626
26627 2003-01-10  Bruno Haible  <bruno@clisp.org>
26628
26629         * lib/alloca_.h: New file.
26630         * lib/getdate.y: Unconditionally include alloca.h.
26631         * lib/makepath.c: Likewise.
26632         * lib/setenv.c: Likewise.
26633         * lib/userspec.c: Likewise.
26634
26635 2003-01-09  Karl Berry  <karl@gnu.org>
26636
26637         * MODULES.html.sh: include `dirname $0` in PATH, to find
26638         gnulib-tool.
26639
26640 2003-01-09  Bruno Haible  <bruno@clisp.org>
26641
26642         * modules/stdbool: Change configure.ac, Makefile.am requirements.
26643         Simplify Include requirements. Add lib/stdbool.h.in to file list.
26644
26645 2003-01-09  Bruno Haible  <bruno@clisp.org>
26646
26647         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
26648
26649 2003-01-09  Bruno Haible  <bruno@clisp.org>
26650
26651         * lib/stdbool.h.in: New file.
26652
26653 2003-01-09  Bruno Haible  <bruno@clisp.org>
26654
26655         * gnulib-tool (func_all_modules): Ignore files ending in ~.
26656         * MODULES.html.sh: Likewise.
26657
26658 2003-01-08  Jim Meyering  <jim@meyering.net>
26659
26660         * lib/full-write.c: Undefine and define-away `const' after inclusion
26661         of errno.h, not before.  Suggestion from Bruno Haible.
26662
26663 2003-01-08  Bruno Haible  <bruno@clisp.org>
26664
26665         * modules/full-read: Depend on full-write.
26666
26667 2003-01-08  Bruno Haible  <bruno@clisp.org>
26668
26669         * lib/safe-read.c: Include specification header first, to ensure its
26670         selfcontainedness.
26671         * lib/full-write.c: Likewise.
26672
26673 2003-01-07  Jim Meyering  <jim@meyering.net>
26674
26675         * lib/full-write.c: Rework so that it may serve to define full_read,
26676         too.
26677         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
26678
26679 2003-01-07  Bruno Haible  <bruno@clisp.org>
26680
26681         * lib/strtoimax.c: Include <stdint.h> as an alternative to
26682         <inttypes.h>.
26683         * lib/xstrtol.h: Likewise.
26684         * lib/xstrtoimax.c: Likewise.
26685         * lib/xstrtoumax.c: Likewise.
26686         * lib/human.h: Likewise.
26687
26688         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
26689         on systems that have <inttypes.h> but not <stdint.h>.
26690
26691 2003-01-07  Bruno Haible  <bruno@clisp.org>
26692
26693         * MODULES.html.sh: Add copyright notice.
26694         (missed_files): Omit CVS directory entries.
26695         (func_module): Make it work with sed-3.02.
26696         * MODULES.txt: Remove file.
26697
26698 2003-01-06  Jim Meyering  <jim@meyering.net>
26699
26700         * lib/version-etc.c: Update year in translatable copyright string.
26701
26702 2003-01-03  Karl Berry  <karl@gnu.org>
26703
26704         * config/config.{guess,sub}: update from prep.
26705
26706 2003-01-02  Karl Berry  <karl@gnu.org>
26707
26708         * doc/COPYING.DOC: belatedly updated to 1.2.
26709
26710 2003-01-01  Karl Berry  <karl@gnu.org>
26711
26712         * gnulib-tool (func_verify_module): report module name $module in
26713         error message, not $1.
26714         * gnulib-tool (create-testdir): don't complain if destdir couldn't
26715         be created, only if it doesn't exist.
26716         * gnulib-tool (last_checkin_date): don't expand the $Date here.
26717
26718 2002-12-31  Paul Eggert  <eggert@twinsun.com>
26719
26720         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
26721
26722 2002-12-31  Paul Eggert  <eggert@twinsun.com>
26723
26724         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
26725         memcmp if strcoll doesn't work.
26726
26727 2002-12-31  Bruno Haible  <bruno@clisp.org>
26728
26729         * lib/utime.c (utime_null): No need to call ftruncate if the file was
26730         nonempty.
26731
26732 2002-12-31  Bruno Haible  <bruno@clisp.org>
26733
26734         * lib/memcoll.c (STRCOLL): New macro.
26735         (memcoll): Use it.
26736
26737 2002-12-31  Bruno Haible  <bruno@clisp.org>
26738
26739         * lib/localcharset.h: New file.
26740         * lib/localcharset.c: Include it.
26741         * lib/unicodeio.c: Likewise.
26742
26743 2002-12-31  Bruno Haible  <bruno@clisp.org>
26744
26745         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
26746         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
26747
26748 2002-12-31  Bruno Haible  <bruno@clisp.org>
26749
26750         * lib/getline.h: Include <stddef.h>, for size_t.
26751
26752         * lib/unicodeio.h: Include <stddef.h>, for size_t.
26753         * lib/unicodeio.c: Don't include <stddef.h>.
26754
26755 2002-12-31  Bruno Haible  <bruno@clisp.org>
26756
26757         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
26758         HAVE_TM_ZONE.
26759
26760 2002-12-24  Karl Berry  <karl@gnu.org>
26761
26762         * config/config.guess: update from prep.
26763
26764 2002-12-24  Bruno Haible  <bruno@clisp.org>
26765
26766         General infrasructure.
26767         * m4/README: Rewritten.
26768         * m4/onceonly.m4: New file.
26769         * m4/onceonly_2_57.m4: New file.
26770
26771         Module atexit.
26772         * m4/atexit.m4: New file.
26773
26774         Module strtod.
26775         * m4/strtod.m4: New file.
26776
26777         Module strtol.
26778         * m4/strtol.m4: New file.
26779
26780         Module strtoul.
26781         * m4/strtoul.m4: New file.
26782
26783         Module memchr.
26784         * m4/memchr.m4: New file.
26785
26786         Module memcmp.
26787         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
26788         (jm_FUNC_MEMCMP): Invoke it.
26789
26790         Module memcpy.
26791         * m4/memcpy.m4: New file.
26792
26793         Module memmove.
26794         * m4/memmove.m4: New file.
26795
26796         Module memset.
26797         * m4/memset.m4: New file.
26798
26799         Module strcspn.
26800         * m4/strcspn.m4: New file.
26801
26802         Module strpbrk.
26803         * m4/strpbrk.m4: New file.
26804
26805         Module strstr.
26806         * m4/strstr.m4: New file.
26807
26808         Module strerror.
26809         * m4/strerror.m4: New file.
26810
26811         Module mktime.
26812         * m4/mktime.m4: Renamed from jm-mktime.m4.
26813         (gl_PREREQ_MKTIME): New macro.
26814         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
26815
26816         Module malloc.
26817         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
26818         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
26819         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
26820
26821         Module realloc.
26822         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
26823         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
26824         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
26825
26826         Module strftime.
26827         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
26828         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
26829         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
26830         gl_TM_GMTOFF.
26831         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
26832
26833         Module xalloc.
26834         * m4/xalloc.m4: New file.
26835
26836         Module alloca.
26837         * m4/alloca.m4: New file.
26838
26839         Module putenv.
26840         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
26841         (jm_FUNC_PUTENV): Invoke it.
26842
26843         Module setenv.
26844         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
26845         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
26846         when invoked twice.
26847         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
26848         gt_FUNC_SETENV.
26849
26850         Module memrchr.
26851         * m4/memrchr.m4: New file.
26852
26853         Module stpcpy.
26854         * m4/stpcpy.m4: New file.
26855
26856         Module strcase.
26857         * m4/strcase.m4: New file.
26858
26859         Module strdup.
26860         * m4/strdup.m4: New file.
26861
26862         Module strnlen.
26863         * m4/strnlen.m4: New file.
26864
26865         Module strndup.
26866         * m4/strndup.m4: New file.
26867
26868         Module xstrtod.
26869         * m4/xstrtod.m4: New file.
26870
26871         Module xstrtol.
26872         * m4/xstrtol.m4: New file.
26873
26874         Module getdate.
26875         * m4/getdate.m4: New file.
26876
26877         Module unlocked-io.
26878         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
26879         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
26880         * m4/jm-glibc-io.m4n: Remove file.
26881
26882         Module long-options.
26883         * m4/long-options.m4: New file.
26884
26885         Module md5.
26886         * m4/md5.m4: New file.
26887
26888         Module sha.
26889         * m4/sha.m4: New file.
26890
26891         Module getstr.
26892         * m4/getstr.m4: New file.
26893
26894         Module getline.
26895         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
26896         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
26897         <sys/types.h>, for size_t. Use the function name gnu_getline, not
26898         simply getline. Infoke gl_PREREQ_GETLINE.
26899
26900         Module obstack.
26901         * m4/obstack.m4: New file.
26902
26903         Module hash.
26904         * m4/hash.m4: New file.
26905
26906         Module readtokens.
26907         * m4/readtokens.m4: New file.
26908
26909         Module strverscmp.
26910         * m4/strverscmp.m4: New file.
26911
26912         Module stdbool.
26913         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
26914         OSF/1.
26915
26916         Module strtoll.
26917         * m4/strtoll.m4: New file.
26918
26919         Module strtoull.
26920         * m4/strtoull.m4: New file.
26921
26922         Module strtoimax.
26923         * m4/strtoimax.m4: New file.
26924
26925         Module strtoumax.
26926         * m4/strtoumax.m4: New file.
26927
26928         Module xstrtoimax.
26929         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
26930         jm_AC_PREREQ_XSTRTOIMAX.
26931         Moved the strtol prerequisites to strtol.m4.
26932         Moved the strtoll prerequisites to strtoll.m4.
26933         Moved the strtoimax prerequisites to strtoimax.m4.
26934
26935         Module xstrtoumax.
26936         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
26937         jm_AC_PREREQ_XSTRTOUMAX.
26938         Moved the strtoul prerequisites to strtoul.m4.
26939         Moved the strtoull prerequisites to strtoull.m4.
26940         Moved the strtoumax prerequisites to strtoumax.m4.
26941
26942         Module chown.
26943         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
26944         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
26945
26946         Module dup2.
26947         * m4/dup2.m4: New file.
26948
26949         Module ftruncate.
26950         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
26951         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
26952
26953         Module getgroups.
26954         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
26955         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
26956
26957         Module gettimeofday.
26958         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
26959         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
26960         gl_PREREQ_GETTIMEOFDAY.
26961
26962         Module mkdir.
26963         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
26964         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
26965
26966         Module mkstemp.
26967         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
26968         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
26969         jm_AC_TYPE_UINTMAX_T.
26970         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
26971
26972         Module stat.
26973         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
26974         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
26975
26976         Module lstat.
26977         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
26978         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
26979
26980         Module timespec.
26981         * m4/timespec.m4 (gl_TIMESPEC): New macro.
26982         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
26983         * m4/st_mtim.m4: Indentation.
26984
26985         Module nanosleep.
26986         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
26987         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
26988         gl_PREREQ_NANOSLEEP.
26989
26990         Module regex.
26991         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
26992         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
26993         (gl_REGEX): New macro.
26994
26995         Module rename.
26996         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
26997         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
26998
26999         Module rmdir.
27000         * m4/rmdir.m4: New file.
27001
27002         Module utime.
27003         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
27004         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
27005         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
27006
27007         Module dirname.
27008         * m4/dirname.m4: New file.
27009
27010         Module getopt.
27011         * m4/getopt.m4: New file.
27012
27013         Module unistd-safer.
27014         * m4/unistd-safer.m4: New file.
27015
27016         Module fnmatch.
27017         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
27018         declaration.
27019         (gl_PREREQ_FNMATCH_EXTRA): New macro.
27020         (gl_FUNC_FNMATCH_POSIX): New macro.
27021         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
27022         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
27023         simply fnmatch.
27024
27025         Module exclude.
27026         * m4/exclude.m4: New file.
27027
27028         Module human.
27029         * m4/human.m4: New file.
27030
27031         Module acl.
27032         * m4/acl.m4: Nop.
27033
27034         Module backupfile.
27035         * m4/backupfile.m4: New file.
27036         * m4/d-ino.m4: Indentation.
27037
27038         Module fsusage.
27039         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
27040         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
27041         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
27042
27043         Module dirfd.
27044         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
27045         requirements.
27046
27047         Module euidaccess.
27048         * m4/euidaccess.m4: New file.
27049
27050         Module file-type.
27051         * m4/file-type.m4: New file.
27052
27053         Module fileblocks.
27054         * m4/fileblocks.m4: New file.
27055
27056         Module filemode.
27057         * m4/filemode.m4: New file.
27058
27059         Module isdir.
27060         * m4/isdir.m4: New file.
27061
27062         Module lchown.
27063         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
27064         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
27065
27066         Module makepath.
27067         * m4/makepath.m4: New file.
27068
27069         Module modechange.
27070         * m4/modechange.m4: New file.
27071
27072         Module mountlist.
27073         * m4/mountlist.m4: New file.
27074         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
27075         Indentation.
27076
27077         Module path-concat.
27078         * m4/path-concat.m4: New file.
27079
27080         Module pathmax.
27081         * m4/pathmax.m4: New file.
27082
27083         Module same.
27084         * m4/same.m4: New file.
27085
27086         Module save-cwd.
27087         * m4/save-cwd.m4: New file.
27088
27089         Module savedir.
27090         * m4/savedir.m4: New file.
27091
27092         Module xgetcwd.
27093         * m4/xgetcwd.m4: New file.
27094         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
27095
27096         Module xreadlink.
27097         * m4/xreadlink.m4: New file.
27098
27099         Module safe-read.
27100         * m4/safe-read.m4: New file.
27101
27102         Module safe-write.
27103         * m4/safe-write.m4: New file.
27104
27105         Module closeout.
27106         * m4/closeout.m4: New file.
27107
27108         Module stdio-safer.
27109         * m4/stdio-safer.m4: New file.
27110
27111         Module getpass.
27112         * m4/getpass.m4: New file.
27113
27114         Module getugroups.
27115         * m4/getugroups.m4: New file.
27116
27117         Module group-member.
27118         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
27119         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
27120
27121         Module idcache.
27122         * m4/idcache.m4: New file.
27123
27124         Module userspec.
27125         * m4/userspec.m4: New file.
27126
27127         Module gettime.
27128         * m4/clock_time.m4: New file.
27129         * m4/gettime.m4: New file.
27130
27131         Module settime.
27132         * m4/settime.m4: New file.
27133
27134         Module posixtm.
27135         * m4/posixtm.m4: New file.
27136
27137         Module gethostname.
27138         * m4/gethostname.m4: New file.
27139
27140         Module canon-host.
27141         * m4/canon-host.m4: New file.
27142
27143         Module gettext.
27144         * m4/codeset.m4: New file, from gettext-0.11.5.
27145         * m4/gettext.m4: New file, from gettext-0.11.5.
27146         * m4/glibc21.m4: New file, from gettext-0.11.5.
27147         * m4/iconv.m4: New file, from gettext-0.11.5.
27148         * m4/intdiv0.m4: New file, from gettext-0.11.5.
27149         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
27150         * m4/inttypes.m4: New file, from gettext-0.11.5.
27151         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
27152         * m4/isc-posix.m4: New file, from gettext-0.11.5.
27153         * m4/lcmessage.m4: New file, from gettext-0.11.5.
27154         * m4/lib-ld.m4: New file, from gettext-0.11.5.
27155         * m4/lib-link.m4: New file, from gettext-0.11.5.
27156         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
27157         * m4/progtest.m4: New file, from gettext-0.11.5.
27158         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
27159         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
27160         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
27161
27162         Module localcharset.
27163         * m4/localcharset.m4: New file.
27164
27165         Module hard-locale.
27166         * m4/hard-locale.m4: New file.
27167
27168         Module mbswidth.
27169         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
27170         onceonly macros.
27171         * m4/mbrtowc.m4: Add comment.
27172
27173         Module memcasecmp.
27174         * m4/memcasecmp.m4: New file.
27175
27176         Module memcoll.
27177         * m4/memcoll.m4: New file.
27178
27179         Module unicodeio.
27180         * m4/unicodeio.m4: New file.
27181
27182         Module rpmatch.
27183         * m4/rpmatch.m4: New file.
27184
27185         Module yesno.
27186         * m4/yesno.m4: New file.
27187
27188         Module exitfail.
27189         * m4/exitfail.m4: New file.
27190
27191         Module c-stack.
27192         * m4/c-stack.m4 (gl_C_STACK): New macro.
27193         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
27194
27195         Module error.
27196         * m4/error.m4 (gl_ERROR): New macro.
27197         (jm_PREREQ_ERROR): Use onceonly macros.
27198
27199         Module fatal.
27200         * m4/fatal.m4: New file.
27201
27202         Module getloadavg.
27203         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
27204         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
27205
27206         Module getpagesize.
27207         * m4/getpagesize.m4: New file.
27208
27209         Module getusershell.
27210         * m4/getusershell.m4: New file.
27211
27212         Module physmem.
27213         * m4/physmem.m4: New file.
27214
27215         Module posixver.
27216         * m4/posixver.m4: New file.
27217
27218         Module quotearg.
27219         * m4/quotearg.m4: New file.
27220
27221         Module quote.
27222         * m4/quote.m4: New file.
27223
27224         Module readutmp.
27225         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
27226
27227         Module sig2str.
27228         * m4/sig2str.m4: New file.
27229
27230         Other.
27231         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
27232         ulonglong.m4.
27233         * m4/intmax_t.m4: New file.
27234         * m4/d-type.m4: Indentation.
27235         * m4/jm-macros.m4: Update.
27236         * m4/prereq.m4 (jm_PREREQ): Update.
27237         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
27238         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
27239         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
27240         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
27241         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
27242         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
27243         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
27244         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
27245         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
27246         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
27247         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
27248         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
27249         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
27250         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
27251         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
27252         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
27253         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
27254         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
27255         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
27256
27257 2002-12-24  Bruno Haible  <bruno@clisp.org>
27258
27259         * MODULES.txt: Update according to m4/ changes.
27260
27261         Module gettext.
27262         * config.rpath: New file, from gettext-0.11.5.
27263
27264         * modules/*: New module descriptions.
27265         * gnulib-tool: New file.
27266         * MODULES.html.sh: New file.
27267
27268 2002-12-21  Karl Berry  <karl@gnu.org>
27269
27270         * doc/fdl.texi: update to version 1.2.
27271
27272 2002-12-19  Karl Berry  <karl@gnu.org>
27273
27274         * config/config.guess: update from prep.
27275
27276 2002-12-18  Bruno Haible  <bruno@clisp.org>
27277
27278         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
27279         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
27280
27281 2002-12-17  Bruno Haible  <bruno@clisp.org>
27282
27283         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
27284         stdlib.h, string.h.
27285
27286 2002-12-17  Bruno Haible  <bruno@clisp.org>
27287
27288         * lib/canon-host.c (strdup): Remove unused declaration.
27289
27290         * lib/fsusage.c: Include full_read.h.
27291         (get_fs_usage): Use full_read instead of safe_read.
27292
27293         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
27294
27295 2002-12-12  Karl Berry  <karl@gnu.org>
27296
27297         * config/config.guess: update from prep.
27298
27299 2002-12-11  Bruno Haible  <bruno@clisp.org>
27300
27301         * m4/setenv.m4: New file, from gettext-0.11.5.
27302
27303 2002-12-11  Bruno Haible  <bruno@clisp.org>
27304
27305         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
27306         not unsetenv().
27307         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
27308         modifications:
27309
27310         2002-12-11  Bruno Haible  <bruno@clisp.org>
27311
27312                 * setenv.c (alloca): Fall back to malloc.
27313                 (freea): New macro.
27314                 (setenv): Use freea() to free memory allocated with alloca().
27315
27316         2002-11-13  Bruno Haible  <bruno@clisp.org>
27317
27318                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
27319                 function declarations.
27320                 * unsetenv.c (unsetenv): Likewise.
27321
27322         2002-03-04  Bruno Haible  <bruno@clisp.org>
27323
27324                 Portability to AIX 4.3.3.
27325                 * unsetenv.c: New file, extracted from setenv.c.
27326                 * setenv.c: Move the unsetenv() function to unsetenv.c.
27327
27328         2001-12-20  Bruno Haible  <bruno@clisp.org>
27329
27330                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
27331                 use malloc instead. For SunOS 4.
27332
27333         2001-12-11  Bruno Haible  <bruno@clisp.org>
27334
27335                 * setenv.c: Declare alloca.
27336                 (compar_fn_t): New typedef.
27337                 (KNOWN_VALUE, STORE_VALUE): Use it.
27338
27339         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
27340         setenv.h.
27341
27342 2002-12-10  Paul Eggert  <eggert@twinsun.com>
27343
27344         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
27345         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
27346         Choose values that are less likely to collide with system fnmatch
27347         options.
27348         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
27349         defined (e.g., a pure POSIX system).
27350         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
27351         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
27352
27353 2002-12-06  Paul Eggert  <eggert@twinsun.com>
27354
27355         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
27356         a pain in practice to deal with generated m4 files.  This change
27357         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
27358
27359         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
27360         and jm-glibc-io.m4, as they are no longer a special case.
27361         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
27362         kludge and the auto-generation stuff.  Check only whether the
27363         functions are declared, not whether they exist, since older hosts
27364         that don't declare the functions can't use the optimization anyway.
27365
27366 2002-12-06  Jim Meyering  <jim@meyering.net>
27367
27368         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
27369
27370         Merge in changes from libc's misc/error.c, in preparation
27371         for the merge of gnulib's changes back into libc.
27372
27373         * lib/error.c (_): Define only if not already defined.
27374         Move definition to follow all #include directives.
27375         Include unlocked-io.h only if !_LIBC.
27376         [_LIBC]: Include <libio/libioP.h>.
27377         [USE_IN_LIBIO]: Include <libio/iolibio.h>
27378         (fflush): Tweak definition to use INTUSE.
27379         (putc): Define.
27380
27381 2002-12-05  Paul Eggert  <eggert@twinsun.com>
27382
27383         * lib/alloca.c [defined emacs]: Include "lisp.h".
27384         (xalloc_die) [defined emacs]: New macro.
27385         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
27386         [! defined emacs]: Include <xalloc.h>.
27387         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
27388         (pointer): Typedef to POINTER_TYPE *.
27389         (malloc): Remove decl; we now always use xmalloc.
27390         (alloca): Use old-style definition, since Emacs needs this.
27391         Check for arithmetic overflow when computing combined size.
27392
27393 2002-12-04  Paul Eggert  <eggert@twinsun.com>
27394
27395         Do not generate unlocked-io.h automatically, since it's easier to
27396         maintain it by hand.
27397
27398         * lib/unlocked-io.h: New file, from GNU diffutils,
27399         but with proper copyright notice and attribution.
27400         * lib/gen-uio: Remove.
27401         * lib/Makefile.am: Add copyright notice.
27402         (libfetish_a_SOURCES): Add unlocked-io.h.
27403         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
27404         (DISTCLEANFILES, io_functions): Remove macros.
27405         (EXTRA_DIST): Remove gen_uio.
27406         (unlocked-io.h): Remove rule.
27407
27408 2002-12-04  Jim Meyering  <jim@meyering.net>
27409
27410         Reflect the fact that stat.c and lstat.c are no longer generated.
27411         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
27412         (DISTCLEANFILES): Likewise.
27413         (EXTRA_DIST): Likewise.
27414         (all_local): Don't depend on stat.c or lstat.c.
27415         (stat.c, lstat.c): Remove rules.
27416         (EXTRA_DIST): Remove xstat.in.
27417
27418         * lib/xstat.in: Remove file.  Contents moved into stat.c.
27419         * lib/stat.c: New file.  Contents mostly from xstat.in.
27420         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
27421         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
27422
27423         * lib/safe-read.c: Rework so that it may serve to define safe_write,
27424         too.
27425         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
27426
27427 2002-12-03  Jim Meyering  <jim@meyering.net>
27428
27429         * lib/safe-read.c, safe-write.c: Change variable names and comments,
27430         but not semantics, to minimize the differences between these two files.
27431         (safe_read): Change comment to mention SAFE_READ_ERROR.
27432
27433         * lib/safe-read.c (IS_EINTR): Define.
27434         (safe_read): Use IS_EINTR in place of in-function cpp directives.
27435
27436 2002-12-02  Jim Meyering  <jim@meyering.net>
27437
27438         * lib/safe-read.c (EINTR): Define.
27439         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
27440         (INT_MAX): Provide fallback.
27441         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
27442
27443         * lib/safe-read.h (SAFE_READ_ERROR): Define.
27444
27445 2002-12-02  Bruno Haible  <bruno@clisp.org>
27446
27447         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
27448         Define, taken from safe-read.c.
27449         (INT_MAX): Provide fallback.
27450         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
27451         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
27452
27453         * lib/safe-read.c (EINTR): Remove definition.
27454         (safe_read): Don't use EINTR if it is absent.
27455
27456 2002-12-01  Jim Meyering  <jim@meyering.net>
27457
27458         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
27459         zero.
27460         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
27461
27462 2002-11-27  Paul Eggert  <eggert@twinsun.com>
27463
27464         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
27465         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
27466         with `if (! (value < limit)) abort ();', for readability.
27467
27468 2002-11-26  Karl Berry  <karl@gnu.org>
27469
27470         * lib/strdup.c: copy from libc again, with jim's ok.
27471         * lib/.cppi-disable: re-add strdup.c
27472
27473 2002-11-25  Karl Berry  <karl@gnu.org>
27474
27475         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
27476         instead of "strtol.c".
27477
27478 2002-11-25  Karl Berry  <karl@gnu.org>
27479
27480         * config/install-sh: update from automake for variable quoting, $0 in
27481         error msgs, etc.
27482
27483         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
27484         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
27485         entry.
27486
27487 2002-11-25  Jim Meyering  <jim@meyering.net>
27488
27489         * lib/mktime.c: Sync from libc, now that it has the latest fix.
27490
27491 2002-11-24  Karl Berry  <karl@gnu.org>
27492
27493         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
27494         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
27495
27496 2002-11-24  Jim Meyering  <jim@meyering.net>
27497
27498         Update from coreutils:
27499
27500         * lib/mktime.c: Merge in changes from libc.
27501
27502         Avoid a link-time failure on some Linux systems.
27503         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
27504         (otherwise).
27505         (__mon_yday): Declare with the STATIC attribute.
27506         (__mktime_internal): Likewise.
27507         Based on a report from Greg Schafer.
27508
27509 2002-11-23  Jim Meyering  <jim@meyering.net>
27510
27511         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
27512         Use `unsigned', not `int', as type of index.
27513
27514         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
27515
27516         * lib/fsusage.c: Remove unneeded parentheses around operands of
27517         `defined'.
27518
27519 2002-11-22  Paul Eggert  <eggert@twinsun.com>
27520
27521         * lib/quotearg.h: Allow multiple inclusion by surrounding with
27522         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
27523         so that we can be included first.
27524         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
27525         * lib/quotearg.c: Include quotearg.h immediately after config.h.
27526         No need to include stddef.h or sys/types.h any more.
27527         Surround local include files with "", not "<>".
27528         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
27529         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
27530         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
27531         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
27532         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
27533         (ISPRINT): Remove; no longer needed now that we assume C89.
27534
27535         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
27536         Preserve errno.
27537
27538         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
27539         quotearg_char): Use SIZE_MAX rather than
27540         (size_t) -1 when we are talking about "infinity".
27541
27542         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
27543
27544 2002-11-22  Paul Eggert  <eggert@twinsun.com>
27545
27546         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
27547         hint that one should use `if (! x) abort ();' rather than `assert
27548         (x);', and anyway it's one less thing to worry about configuring.
27549         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
27550         hash_rehash, hash_insert): Use abort rather than assert.
27551
27552 2002-11-22  Bruno Haible  <bruno@clisp.org>
27553
27554         * lib/safe-read.h: Assume C89. Add comments.
27555         (safe_read): Change return type to size_t.
27556         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
27557         byte counts > SSIZE_MAX correctly.
27558         * lib/safe-write.h: New file.
27559         * lib/safe-write.c: New file.
27560         * lib/full-read.h: New file.
27561         * lib/full-read.c: New file.
27562         * lib/full-write.h: Assume C89. Add comments.
27563         * lib/full-write.c: Include safe-write.h.
27564         (full_write): Rewritten to use safe_write.
27565         Suggested by Jim Meyering and Paul Eggert.
27566
27567 2002-11-21  Jim Meyering  <jim@meyering.net>
27568
27569         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
27570
27571         Merge in changes from the coreutils.
27572
27573         2002-09-25  Paul Eggert  <eggert@twinsun.com>
27574         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
27575         <stdint.h>.
27576         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
27577         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
27578         int.  Work more efficiently if X is the same width as uintmax_t.
27579         Do not compare X to -1, to avoid bogus compiler warning.
27580         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
27581         Don't assume that f_frsize and f_bsize are the same type.
27582
27583         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
27584         warning on FreeBSD.
27585
27586         * lib/makepath.c (make_path): Restore umask *before* creating the final
27587         component.
27588         (make_path): Minor reformatting.
27589
27590         * lib/xmalloc.c: Adjust to work with new autoconf macros,
27591         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
27592         HAVE_MALLOC/HAVE_REALLOC.
27593
27594         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
27595         dummy ones.  At least on GNU/Linux systems, `auto' means something
27596         else.
27597         From Michael Stone.
27598
27599 2002-11-21  Bruno Haible  <bruno@clisp.org>
27600
27601         Remove case insensitive option matching.
27602         * lib/argmatch.h (argcasematch): Remove declaration.
27603         (ARGCASEMATCH): Remove macro.
27604         (__xargmatch_internal): Remove case_sensitive argument.
27605         (XARGMATCH): Update.
27606         (XARGCASEMATCH): Remove macro.
27607         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
27608         case_sensitive argument.
27609         (argcasematch): Remove function.
27610         (__xargmatch_internal): Remove case_sensitive argument.
27611         (main): Use XARGMATCH instead of XARGCASEMATCH.
27612
27613         * lib/xmalloc.c: Change compile-time error message. Add comment about
27614         required autoconf version.
27615
27616 2002-11-20  Paul Eggert  <eggert@twinsun.com>
27617
27618         Merge argmatch cleanups from Bison.  Assume C89.
27619
27620         * lib/argmatch.c: Include config.h here, not in argmatch.h.
27621         Include stdlib.h, for EXIT_FAILURE.
27622         Always include <string.h>, since we assume C89.
27623         (EXIT_FAILURE): Remove pre-C89 bug workaround.
27624         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
27625         Include <stddef.h> instead, since it's all we need for size_t.
27626         (PARAMS): Remove.  All uses removed.
27627         (ARRAY_CARDINALITY): Do not bother to #undef.
27628         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
27629         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
27630         Remove unnecessary parentheses.
27631         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
27632         Insert necessary parentheses.
27633         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
27634         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
27635
27636 2002-11-19  Bruno Haible  <bruno@clisp.org>
27637
27638         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
27639         * lib/mbswidth.h: Include <stddef.h>, for size_t.
27640
27641         * lib/mbswidth.h (PARAMS): Remove macro.
27642         (mbswidth, mbsnwidth): Use ANSI C function declarations.
27643         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
27644
27645         * lib/gcd.h (PARAMS): Remove macro.
27646         (gcd): Use ANSI C function declarations.
27647         * lib/gcd.c (gcd): Likewise.
27648
27649 2002-11-15  Bruno Haible  <bruno@clisp.org>
27650
27651         * lib/strcspn.c: Include <stddef.h>.
27652         (strcspn): Use ANSI C function declaration. Change return type to
27653         size_t. Use NULL.
27654         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
27655         (strpbrk): Use NULL.
27656         * lib/strpbrk.h (PARAMS): Remove macro.
27657         (strpbrk): Use ANSI C function declaration.
27658         * lib/strstr.c: Don't include <sys/types.h>.
27659         * lib/strstr.h (PARAMS): Remove macro.
27660         (strstr): Use ANSI C function declarations.
27661
27662 2002-11-14  Karl Berry  <karl@gnu.org>
27663
27664         * config/mkinstalldirs: `do' on separate line, instead of
27665         `for var; do'.
27666
27667 2002-11-06  Bruno Haible  <bruno@clisp.org>
27668
27669         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
27670         * lib/gcd.c (gcd): Likewise.
27671
27672 2002-11-05  Bruno Haible  <bruno@clisp.org>
27673
27674         * lib/gcd.h: New file, from gettext-0.11.5.
27675         * lib/gcd.c: New file, from gettext-0.11.5.
27676
27677 2002-11-05  Bruno Haible  <bruno@clisp.org>
27678
27679         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
27680         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
27681         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
27682         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
27683
27684         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
27685         <libintl.h>.
27686         * lib/makepath.c: Include gettext.h instead of <locale.h> and
27687         <libintl.h>.
27688
27689         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
27690         * lib/human.c: Include gettext.h instead of <libintl.h>.
27691         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
27692         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
27693         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
27694         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
27695         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
27696         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
27697         (textdomain): Remove definition.
27698         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
27699
27700         * lib/long-options.c: Remove include of <libintl.h> and definition of
27701         _.
27702         * lib/same.c: Remove include of <libintl.h> and definition of _.
27703
27704 2002-11-04  Owen Taylor  <otaylor@redhat.com>
27705
27706         * lib/config.charset: A few additions for Solaris.
27707
27708 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
27709
27710         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
27711         * lib/localcharset.c (locale_charset): Declare as extern "C".
27712
27713 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
27714
27715         * lib/config.charset: msdos in uk_UA uses CP1125.
27716
27717 2002-11-04  Bruno Haible  <bruno@clisp.org>
27718
27719         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
27720         * lib/strcase.h: New file, from GNU gettext-0.11.5.
27721         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
27722         * lib/strstr.h: New file, from GNU gettext-0.11.5.
27723         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
27724
27725 2002-11-04  Bruno Haible  <bruno@clisp.org>
27726
27727         * lib/localcharset.c (locale_charset): Don't return an empty string.
27728
27729 2002-11-04  Bruno Haible  <bruno@clisp.org>
27730
27731         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
27732         aliases.
27733
27734 2002-11-04  Bruno Haible  <bruno@clisp.org>
27735
27736         * lib/config.charset: Update for newest glibc. Add canonical names
27737         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
27738
27739 2002-11-04  Bruno Haible  <bruno@clisp.org>
27740
27741         * lib/config.charset: Add support for NetBSD.
27742
27743 2002-11-04  Bruno Haible  <bruno@clisp.org>
27744
27745         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
27746
27747 2002-11-01  Bruno Haible  <bruno@clisp.org>
27748
27749         * configure.in: Add AC_CONFIG_AUX_DIR call.
27750         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
27751         test/Makefile.
27752         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
27753
27754 2002-09-28  Karl Berry  <karl@gnu.org>
27755
27756         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
27757         installed automake until the next release, since changes have been
27758         made.
27759
27760 2002-09-25  Karl Berry  <karl@gnu.org>
27761
27762         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
27763         * lib/getopt*: copy from libc/posix.
27764         * lib/gettext.h: copy from gettext.
27765         * lib/.cppi-disable: add strdup.c, gettext.h.
27766
27767 2002-09-25  Karl Berry  <karl@gnu.org>
27768
27769         * config/srclist.txt: enable gettext.h check.
27770         * config/config.{guess,sub}: update from prep.
27771         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
27772                 from automake 1.6.3.
27773         See srclist*.
27774
27775 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
27776
27777         * regex.c (PATFETCH): Remove the translating fetch.
27778         (PATFETCH_RAW): Rename to PATFETCH.
27779         (set_image_of_range): New fun.
27780         (SET_RANGE_TABLE_WORK_AREA): Use it.
27781         (regex_compile): Don't translate the pattern chars so eagerly.
27782         Only do it when inserting an `exactn' bytecode or when handling
27783         a char-range.
27784         (mutually_exclusive_p): Avoid empty statement.
27785
27786 2002-07-06  Jim Meyering  <meyering@lucent.com>
27787
27788         * m4/README: Don't mention Makefile.am.in.
27789         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
27790
27791 2002-07-01  Jim Meyering  <meyering@lucent.com>
27792
27793         * lib/c-stack.c: Include sys/time.h.
27794         From Volker Borchert.
27795
27796 2002-06-26  Paul Eggert  <eggert@twinsun.com>
27797
27798         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
27799
27800 2002-06-26  Paul Eggert  <eggert@twinsun.com>
27801
27802         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
27803         New macro.  Use it uniformly instead of
27804         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
27805         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
27806         reported by Vin Shelton.
27807
27808 2002-06-22  Paul Eggert  <eggert@twinsun.com>
27809
27810         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
27811         Do not assume SA_SIGINFO behavior.
27812         Bug reported by Jim Meyering on NetBSD 1.5.2.
27813
27814 2002-06-22  Jim Meyering  <meyering@lucent.com>
27815
27816         * m4/c-stack.m4: New file, from diffutils-2.8.2.
27817         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
27818
27819         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
27820         now that configure.ac uses AC_GNU_SOURCE.
27821         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
27822         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
27823
27824         Update to latest tools.  Suggestions from Paul Eggert.
27825         * m4/stdbool.m4: New file, from diffutils-2.8.2.
27826         * m4/gnu-source.m4: Update from diffutils-2.8.2.
27827         * m4/fnmatch.m4: Likewise.
27828         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
27829         to AC_HEADER_STDBOOL
27830
27831 2002-06-22  Jim Meyering  <meyering@lucent.com>
27832
27833         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
27834         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
27835
27836 2002-06-22  Jim Meyering  <meyering@lucent.com>
27837
27838         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
27839
27840         * lib/exitfail.c, exitfail.h: Likewise.
27841         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
27842
27843         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
27844         of fnmatch.h.
27845         (EXTRA_DIST): Add fnmatch_loop.c.
27846         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
27847
27848         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
27849         * lib/fnmatch.c: Update from diffutils-2.8.2.
27850         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
27851         * lib/fnmatch.h: Remove file.
27852
27853 2002-06-21  Jim Meyering  <meyering@lucent.com>
27854
27855         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
27856         * m4/mbrtowc.m4: Likewise.
27857
27858         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
27859         * m4/mbswidth.m4: Reflect name change:
27860         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
27861         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
27862
27863         * m4/lib-link.m4: Update from gettext-0.11.2.
27864         * m4/gettext.m4: Likewise.
27865
27866         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
27867         From Alfred M. Szmidt.
27868
27869 2002-06-18  Paul Eggert  <eggert@twinsun.com>
27870
27871         * lib/file-type.h: Report an error if neither S_ISREG nor
27872         S_IFREG is defined, instead of using a test specific to glibc
27873         2.2.  This should be safe, since POSIX requires S_ISREG and
27874         Unix Version 7 had S_IFREG.  We don't need to check for
27875         <sys/types.h> since we don't use any symbols that it defines.
27876
27877 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
27878
27879         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
27880         $@-t, so that each temporary file name is unique and valid in the first
27881         8 characters, for operation under DOS.
27882
27883 2002-06-15  Paul Eggert  <eggert@twinsun.com>
27884
27885         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
27886
27887 2002-06-15  Jim Meyering  <meyering@lucent.com>
27888
27889         Work even with DJGPP 2.03, which lacks support for symlinks.
27890         From Richard Dawe.
27891         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
27892         is defined.
27893         * lib/lchown.c (S_ISLNK): Likewise.
27894
27895 2002-06-15  Jim Meyering  <meyering@lucent.com>
27896
27897         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
27898         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
27899         have been included before this file.
27900
27901 2002-06-14  Jim Meyering  <meyering@lucent.com>
27902
27903         * lib/file-type.h: Use the version from diffutils-2.8.2.
27904         * lib/file-type.c: Likewise.
27905
27906 2002-06-07  Jim Meyering  <meyering@lucent.com>
27907
27908         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
27909         They're needed at least for NetBSD 1.5.2.
27910         ($statxfs_includes): Include those same headers.
27911         ($statxfs_includes): Include sys/vfs.h if available.
27912         ($statxfs_includes): Likewise for sys/statvfs.h.
27913         Check for the following members in both structs statfs and statvfs:
27914         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
27915
27916 2002-06-01  Jim Meyering  <meyering@lucent.com>
27917
27918         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
27919         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
27920
27921 2002-05-28  Jim Meyering  <meyering@lucent.com>
27922
27923         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
27924         Reported by Volker Borchert.
27925
27926 2002-05-27  Jim Meyering  <meyering@lucent.com>
27927
27928         Fix a problem seen only on nonconforming systems whereby ls.c's
27929         use of localtime, and then of gettimeofday would cause trouble:
27930         the localtime call used to initialize rpl_gettimeofday's save
27931         mechanism would clobber ls's current local time information so
27932         that in any long listing the first file would always be listed
27933         with date 1970-01-01.  Analysis by Volker Borchert.
27934
27935         * lib/gettimeofday.c (localtime): Undefine.
27936         (rpl_localtime): New function.
27937
27938 2002-05-27  Jim Meyering  <meyering@lucent.com>
27939
27940         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
27941         localtime.
27942
27943         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
27944         use the replacement function; it wouldn't resolve at link time.
27945         Reported by Volker Borchert.
27946
27947 2002-05-22  Jim Meyering  <meyering@lucent.com>
27948
27949         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
27950         file-type.h.
27951         * lib/file-type.h: New file.
27952         * lib/file-type.c (file_type): New file/function.  Extracted from
27953         diffutils.
27954
27955 2002-04-30  Jim Meyering  <meyering@lucent.com>
27956
27957         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
27958
27959 2002-04-29  Paul Eggert  <eggert@twinsun.com>
27960
27961         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
27962
27963 2002-04-29  Paul Eggert  <eggert@twinsun.com>
27964
27965         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
27966         Do not check for alloca.h (no longer used) or stdbool.h (was never
27967         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
27968
27969 2002-04-29  Paul Eggert  <eggert@twinsun.com>
27970
27971         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
27972
27973 2002-04-29  Jim Meyering  <meyering@lucent.com>
27974
27975         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
27976         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
27977         Use AC_FUNC_STRNLEN here instead.
27978
27979         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
27980         With autoconf-2.53a, it's part of AC_PROG_CC.
27981
27982 2002-04-28  Paul Eggert  <eggert@twinsun.com>
27983
27984         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
27985         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
27986
27987 2002-04-28  Paul Eggert  <eggert@twinsun.com>
27988
27989         * lib/sig2str.h, lib/sig2str.c: New files.
27990         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
27991
27992 2002-04-28  Paul Eggert  <eggert@twinsun.com>
27993
27994         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
27995         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
27996         of 127, since 64 is the largest conceivable number for ancient
27997         nonstandard hosts.
27998         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
27999
28000 2002-04-28  Jim Meyering  <meyering@lucent.com>
28001
28002         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
28003
28004 2002-04-24  Jim Meyering  <meyering@lucent.com>
28005
28006         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
28007         (jm_PREREQ): Use it.
28008
28009         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
28010         mach/mach.h fcntl.h.
28011         Check for this function: setlocale.
28012
28013 2002-04-24  Jim Meyering  <meyering@lucent.com>
28014
28015         * lib/gettext.h: New file, from Gettext.
28016         * lib/Makefile.am (INCLUDES): Remove -I../intl.
28017         (libfetish_a_SOURCES): Add gettext.h.
28018
28019 2002-04-16  Jim Meyering  <meyering@lucent.com>
28020
28021         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
28022         ut_pid, ut_id, ut_exit.
28023
28024 2002-04-16  Jim Meyering  <meyering@lucent.com>
28025
28026         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
28027         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
28028         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
28029
28030 2002-04-12  Jim Meyering  <meyering@lucent.com>
28031
28032         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
28033         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
28034         existence of the getmntinfo function.  Needed for Darwin 5.3.
28035
28036         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
28037         This is necessary at least on Darwin 5.3.
28038
28039         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
28040         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
28041         strnlen.o in the library, and that makes some versions of ranlib
28042         object.
28043
28044 2002-04-12  Jim Meyering  <meyering@lucent.com>
28045
28046         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
28047
28048 2002-04-09  Jim Meyering  <meyering@lucent.com>
28049
28050         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
28051         to be more precise.  Rather than saying we're checking whether the
28052         function `works', say what we're testing.
28053         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
28054         Reported by Bruno Haible.
28055
28056 2002-03-10  Jim Meyering  <meyering@lucent.com>
28057
28058         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
28059         Suggestion from Santiago Vila.
28060
28061 2002-03-08  Jim Meyering  <meyering@lucent.com>
28062
28063         * lib/rename.c: Mention that this wrapper is needed also on
28064         mips-dec-ultrix4.4 systems.
28065
28066 2002-03-02  Jim Meyering  <meyering@lucent.com>
28067
28068         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
28069         not HAVE_CLOCK_SETTIME.
28070
28071 2002-02-27  Paul Eggert  <eggert@twinsun.com>
28072
28073         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
28074         Check for clock_settime.
28075
28076 2002-02-27  Paul Eggert  <eggert@twinsun.com>
28077
28078         * lib/nanosleep.h: Rename to....
28079         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
28080
28081         * lib/gettime.c: New file.
28082         * lib/settime.c: New file.
28083         * lib/stime.c: Remove.
28084
28085         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
28086         timespec.h.  Remove nanosleep.h.
28087
28088 2002-02-25  Paul Eggert  <eggert@twinsun.com>
28089
28090         * m4/acl.m4: New file.
28091         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
28092         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
28093
28094 2002-02-25  Paul Eggert  <eggert@twinsun.com>
28095
28096         * lib/acl.c, lib/acl.h: New files.
28097         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
28098
28099 2002-02-24  Jim Meyering  <meyering@lucent.com>
28100
28101         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
28102         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
28103         cause trouble.  Reported by Nelson Beebe.
28104
28105 2002-02-23  Paul Eggert  <eggert@twinsun.com>
28106
28107         * lib/path-concat.c (xpath_concat): Reorder code to pacify
28108         compilers that don't know that xalloc_die never returns.
28109
28110 2002-02-20  Jim Meyering  <meyering@lucent.com>
28111
28112         * lib/getdate.c: Regenerate using bison-1.33.
28113
28114 2002-02-17  Jim Meyering  <meyering@lucent.com>
28115
28116         * config/config.guess (main): Don't use `head -1'; it's no longer
28117         portable. Use `sed 1q' instead.
28118
28119 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
28120
28121         * m4/codeset.m4: Upgrade to gettext-0.11.
28122         * m4/gettext.m4: Upgrade to gettext-0.11.
28123         * m4/glibc21.m4: Upgrade to gettext-0.11.
28124         * m4/iconv.m4: Upgrade to gettext-0.11.
28125         * m4/isc-posix.m4: Upgrade to gettext-0.11.
28126         * m4/lcmessage.m4: Upgrade to gettext-0.11.
28127         * m4/lib-ld.m4: New file, from gettext-0.11.
28128         * m4/lib-link.m4: New file, from gettext-0.11.
28129         * m4/lib-prefix.m4: New file, from gettext-0.11.
28130         * m4/progtest.m4: Upgrade to gettext-0.11.
28131
28132 2002-02-15  Paul Eggert  <eggert@twinsun.com>
28133
28134         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
28135         (jm_PREREQ): Use it.
28136
28137 2002-02-15  Paul Eggert  <eggert@twinsun.com>
28138
28139         * lib/posixver.c, lib/posixver.h: New files.
28140         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
28141
28142 2002-02-02  Paul Eggert  <eggert@twinsun.com>
28143             Bruno Haible  <bruno@clisp.org>
28144
28145         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
28146         (fwrite_success_callback): New declaration.
28147         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
28148         print_unicode_char. Call failure callback instead of error.
28149         (fwrite_success_callback): New function.
28150         (exit_failure_callback): New function.
28151         (fallback_failure_callback): New function.
28152         (print_unicode_char): Call unicode_to_mb.
28153
28154 2002-01-26  Jim Meyering  <meyering@lucent.com>
28155
28156         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
28157         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
28158
28159 2002-01-26  Jim Meyering  <meyering@lucent.com>
28160
28161         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
28162
28163 2002-01-22  Paul Eggert  <eggert@twinsun.com>
28164
28165         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
28166
28167 2002-01-22  Jim Meyering  <meyering@lucent.com>
28168
28169         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
28170         Otherwise, some versions of automake would omit the rule that makes
28171         Makefile from Makefile.in.
28172
28173 2002-01-21  Paul Eggert  <eggert@twinsun.com>
28174
28175         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
28176         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
28177         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
28178         (memcoll): Set errno to zero if there is no error.
28179
28180         * lib/quotearg.c (quotearg_buffer_restyled):
28181         Fix bug with quoting buffers containing NUL when backslashing escapes.
28182         This bug was exposed by the other changes in this patch.
28183         (quotearg_n_options): New arg ARGSIZE.
28184         All callers changed.
28185         (quoting_options_from_style): New function.
28186         (quotearg_n_style): Use it.
28187         (quotearg_n_style_mem): New function.
28188
28189         * lib/quotearg.h (quotearg_n_style_mem): New function.
28190
28191 2002-01-19  Jim Meyering  <meyering@lucent.com>
28192
28193         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
28194         Remove useless quotes: DF_PROG="df".
28195         * m4/strnlen.m4: New file.
28196
28197 2002-01-16  Paul Eggert  <eggert@twinsun.com>
28198
28199         * lib/backupfile.c (ISDIGIT): Comment fix.
28200         * lib/getdate.y (ISDIGIT): Likewise.
28201         * lib/posixtm.c (ISDIGIT, year): Likewise.
28202         * lib/strverscmp.c (ISDIGIT): Likewise.
28203         * lib/userspec.c (ISDIGIT): Likewise.
28204
28205 2002-01-16  Jim Meyering  <meyering@lucent.com>
28206
28207         * lib/getdate.y: Add three semicolons, each just before a closing
28208         brace. Bison (as of version 1.31) no longer papers over that mistake.
28209
28210 2002-01-05  Jim Meyering  <meyering@lucent.com>
28211
28212         * lib/version-etc.c (version_etc_copyright): Update copyright year.
28213
28214 2001-12-19  Paul Eggert  <eggert@twinsun.com>
28215
28216         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
28217         not silently exit merely because the output buffer happens to
28218         have nothing pending.
28219
28220 2001-12-18  Paul Eggert  <eggert@twinsun.com>
28221
28222         See the big note in ../ChangeLog.
28223         * lib/human.c (suffixes): Prefer K to k for 1024.
28224         (generate_suffix_backwards): New function.
28225         (human_readable_inexact): Use it.
28226         * lib/xstrtol.c (__xstrtol): If there is no number but there
28227         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
28228         Accept 'K' as well as 'k'.
28229
28230 2001-12-15  Jim Meyering  <meyering@lucent.com>
28231
28232         * lib/regex.h (__restrict_arr): Update from libc.
28233
28234         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
28235         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
28236         (STREQ): Define.
28237
28238 2001-12-14  Jim Meyering  <meyering@lucent.com>
28239
28240         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
28241         Suggestion from Bruno Haible.
28242
28243 2001-12-10  Jim Meyering  <meyering@lucent.com>
28244
28245         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
28246         xrealloc, Instead, include "xalloc.h".
28247         (initbuffer): Don't cast xmalloc return value to char*.
28248         (readline): Reword comment.
28249         Don't cast xrealloc return value to char*
28250         Return NULL, not 0.
28251
28252 2001-12-09  Jim Meyering  <meyering@lucent.com>
28253
28254         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
28255         about `signed and unsigned type in conditional expression'.
28256         * lib/posixtm.c (posix_time_parse): Likewise.
28257
28258         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
28259
28260         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
28261         to avoid a pedantic warning.
28262
28263         * lib/getstr.c: Don't include assert.h.
28264         (getstr): Remove warning-evoking assertions.
28265         Return -1 if offset parameter is out of bounds.
28266         Change the type of a local from int to size_t.
28267
28268         * lib/strftime.c (my_strftime_localtime_r): Include this function
28269         definition in the `#if ! HAVE_TM_GMTOFF' block.
28270
28271         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
28272         Include xalloc.h instead.
28273
28274 2001-12-02  Jim Meyering  <meyering@lucent.com>
28275
28276         * lib/tempname.c: Don't declare getenv, thus reverting the change of
28277         2001-11-18.  It's no longer necessary, now that stdlib.h is always
28278         included.
28279
28280         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
28281         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
28282
28283 2001-11-30  Akim Demaille  <akim@epita.fr>
28284
28285         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
28286         before being defined.
28287
28288 2001-11-27  Paul Eggert  <eggert@twinsun.com>
28289
28290         * lib/quotearg.h (quotearg_n, quotearg_n_style):
28291         First arg is int, not unsigned.
28292         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
28293         (SIZE_MAX, UINT_MAX): New macros.
28294         (quotearg_n_options): Abort if N is negative.
28295         Avoid overflow check on hosts where size_t is 64 bits and int
28296         is 32 bits, as overflow is impossible there.
28297         Fix off-by-one typo that caused unnecessary reallocation.
28298
28299 2001-11-27  Jim Meyering  <meyering@lucent.com>
28300
28301         * lib/tempname.c: Merge with version from libc.
28302         * lib/regex.c: Likewise.
28303
28304         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
28305         systems for which STDC_HEADERS is 0, it was not included, resulting in
28306         a warning about an integer-to-pointer conversion problem with getenv.
28307         Reported by Volker Borchert.
28308
28309 2001-11-26  Jim Meyering  <meyering@lucent.com>
28310
28311         * lib/gtod.h: Remove file.
28312         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
28313         * lib/gettimeofday.c: Don't include gtod.h.
28314         (GTOD_init): Remove function.
28315         (rpl_gettimeofday): Do its job here instead, rather than aborting.
28316         Suggestion from Volker Borchert.
28317
28318 2001-11-23  Jim Meyering  <meyering@lucent.com>
28319
28320         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
28321         it.
28322         * lib/hash.c (struct hash_table): Define it here instead.
28323
28324 2001-11-22  Jim Meyering  <meyering@lucent.com>
28325
28326         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
28327
28328 2001-11-20  Jim Meyering  <meyering@lucent.com>
28329
28330         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
28331         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
28332
28333 2001-11-19  Jim Meyering  <meyering@lucent.com>
28334
28335         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
28336         directory.  Use "conftestXXXXXX" as the template.
28337         Suggestion from Paul Eggert.
28338
28339         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
28340         immediately, so the test doesn't mistakenly hit the max-open-files
28341         limit.
28342
28343 2001-11-18  Paul Eggert  <eggert@twinsun.com>
28344
28345         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
28346         (TEMPORARIES): New macro.
28347         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
28348         removes an artificial limitation (e.g. HP-UX 10.20, where
28349         TMP_MAX is 17576).
28350
28351 2001-11-18  Jim Meyering  <meyering@lucent.com>
28352
28353         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
28354
28355 2001-11-18  Jim Meyering  <meyering@lucent.com>
28356
28357         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
28358         on SunOS 4.
28359
28360         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
28361         files will be created before anything else.
28362
28363 2001-11-17  Paul Eggert  <eggert@twinsun.com>
28364
28365         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
28366         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
28367
28368 2001-11-17  Jim Meyering  <meyering@lucent.com>
28369
28370         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
28371         Prompted by a report from Bob Proulx.
28372
28373         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
28374         Instead, require UTILS_FUNC_MKSTEMP.
28375
28376 2001-11-17  Jim Meyering  <meyering@lucent.com>
28377
28378         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
28379         Now, that's done as part of AC_FUNC_STRTOD.
28380
28381 2001-11-17  Jim Meyering  <meyering@lucent.com>
28382
28383         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
28384         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
28385         rather than group writable.  Patch by Juan F. Codagnone.
28386
28387         * lib/readtokens.c: Remove explicit declarations of xmalloc and
28388         xrealloc, Instead, include "xalloc.h".
28389
28390         * lib/mountlist.c: Include unlocked-io.h after all system headers.
28391         Remove explicit declarations of xmalloc, xrealloc,
28392         and xstrdup.  Instead, include "xalloc.h".
28393
28394         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
28395         unlocked-io.h.
28396         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
28397         Likewise.
28398         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
28399
28400         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
28401         Reported by Padraig Brady.
28402
28403         * lib/mkstemp.c: #undef mkstemp.
28404         Include config.h.
28405         (rpl_mkstemp): Rename from mkstemp.
28406         Protoize.
28407
28408 2001-11-16  Jim Meyering  <meyering@lucent.com>
28409
28410         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
28411         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
28412         determine the amount of total physical memory, use pstat_getstatic.
28413         HPUX-11 doesn't define _SC_PHYS_PAGES.
28414         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
28415         If sysconf couldn't be used to determine the amount of available
28416         physical memory, use both pstat_getstatic and pstat_getdynamic.
28417         Based on a patch from Bob Proulx.
28418
28419 2001-11-10  Jim Meyering  <meyering@lucent.com>
28420
28421         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
28422         (jm_PREREQ): Use it.
28423
28424 2001-11-09  Jim Meyering  <meyering@lucent.com>
28425
28426         * m4/jm-macros.m4: Require autoconf-2.52f.
28427         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
28428         Use these AC_-prefixed names, not the AM_-prefixed ones.
28429
28430         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
28431
28432 2001-11-05  Jim Meyering  <meyering@lucent.com>
28433
28434         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
28435
28436 2001-11-04  Jim Meyering  <meyering@lucent.com>
28437
28438         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
28439         $DEFS.
28440
28441 2001-11-03  Jim Meyering  <meyering@lucent.com>
28442
28443         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
28444         of AC_DEFUN.
28445
28446         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
28447         know the name of the variable in the macro definition.
28448
28449 2001-11-03  Jim Meyering  <meyering@lucent.com>
28450
28451         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
28452         in argmatch_to_argument call.
28453
28454         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
28455         argument.
28456
28457         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
28458         e.g., a fault due to an attempt to free a NULL pointer.
28459
28460 2001-11-01  Jim Meyering  <meyering@lucent.com>
28461
28462         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
28463         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
28464
28465 2001-11-01  Jim Meyering  <meyering@lucent.com>
28466
28467         * lib/dirfd.c, lib/dirfd.h: New files.
28468         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
28469
28470         * lib/hash.c (hash_print) [TESTING]: Clean up.
28471
28472 2001-10-22  Paul Eggert  <eggert@twinsun.com>
28473
28474         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
28475         to avoid a warning if -Wall.
28476
28477 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
28478
28479         * README: New file
28480         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
28481         (per RMS's instructions, this is now the canonical source)
28482         * lgpl/, gpl/: New directories.
28483
28484 2001-10-21  Paul Eggert  <eggert@twinsun.com>
28485
28486         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
28487
28488 2001-10-21  Jim Meyering  <meyering@lucent.com>
28489
28490         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
28491         this code would end up calling gettext even in packages built
28492         with --disable-nls.
28493         * lib/getopt.c (_): Likewise.
28494         * lib/regex.c (_): Likewise.
28495
28496 2001-10-20  Paul Eggert  <eggert@twinsun.com>
28497
28498         * m4/error.m4 (jm_PREREQ_ERROR):
28499         Do not invoke AC_CHECK_FUNCS with strerror_r, as
28500         AC_FUNC_STRERROR_R does that.
28501         Check for strerror declaration.
28502
28503         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
28504         are supposed to have them these days.
28505         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
28506         Merge changes from latest Autoconf CVS.
28507         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
28508         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
28509         POSIX decided to standardize on the int flavor of strerror_r.
28510
28511 2001-10-20  Paul Eggert  <eggert@twinsun.com>
28512
28513         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
28514         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
28515         Use strerror_r that is only a macro, even if it is not a function.
28516         (strerror): Check for HAVE_DECL_STRERROR before declaring.
28517         (private_strerror): Use prototypes, not old-style function definition.
28518         (print_errno_message): New function.
28519         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
28520         char*-flavored one.
28521         (error_tail, error, error_at_line): Use it.
28522
28523 2001-10-11  Jim Meyering  <meyering@lucent.com>
28524
28525         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
28526         and quote_n (1, ... to avoid clobbering a buffer.
28527
28528 2001-10-05  Jim Meyering  <meyering@lucent.com>
28529
28530         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
28531         hash-pjw.h.
28532         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
28533         * lib/hash-pjw.h: New file.
28534
28535 2001-09-30  Jim Meyering  <meyering@lucent.com>
28536
28537         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
28538         `struct fsstat' has the `f_fstypename' member.
28539         Use that to define FS_TYPE, which is now used to make
28540         the getfsstat link test tighter.
28541
28542 2001-09-30  Jim Meyering  <meyering@lucent.com>
28543
28544         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
28545         Include <sys/ucred.h>, for Apple Darwin.
28546         Include sys/mount.h and sys/fs_types.h only if available.
28547         (FS_TYPE): Define.
28548         (read_filesystem_list): Use FS_TYPE.
28549
28550 2001-09-29  Paul Eggert  <eggert@twinsun.com>
28551
28552         * lib/exclude.c (excluded_filename): 0 -> false, since it's
28553         a boolean context.
28554
28555 2001-09-29  Jim Meyering  <meyering@lucent.com>
28556
28557         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
28558         [one-argument getmntent function]): Include stdio.h before mntent.h.
28559         SunOS 4.1.x needs it for the declaration of `FILE'.
28560         Patch by Volker Borchert.
28561
28562         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
28563         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
28564         sys/fs_types.h, and make the link-test for getfsstat guard #include
28565         directives with appropriate #if HAVE_*_H tests so that we can
28566         detect getfsstat on Apple Darwin1.3.7 systems.
28567         Reported by Nelson Beebe.
28568         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
28569
28570 2001-09-28  Paul Eggert  <eggert@twinsun.com>
28571
28572         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
28573         #defines strtoimax.  Also treat the other strto* functions
28574         like strtoimax.
28575
28576         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
28577         Check for strtoul and strtoumax,
28578         as those declarations are made even in the signed case.
28579         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
28580         Likewise, for strtol and strtoimax.
28581
28582 2001-09-28  Paul Eggert  <eggert@twinsun.com>
28583
28584         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
28585         #defines strtoimax.  Also treat the other strto* functions
28586         like strtoimax.
28587
28588         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
28589         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
28590         (strtoimax, strtoumax): Do not declare if already defined as a macro.
28591
28592 2001-09-26  Jim Meyering  <meyering@lucent.com>
28593
28594         Most macros in unlocked-io.h had the wrong number of arguments.
28595         * lib/gen-uio: New script.
28596         (USE_UNLOCKED_IO): Define to 1 if not already defined.
28597         * lib/unlocked-io.hin: Remove file.
28598         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
28599         rather than trying to embed it here.
28600         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
28601         Reported by Padraig Brady.
28602
28603 2001-09-25  Volker Borchert  <bt@teknon.de>
28604
28605         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
28606         `result'.
28607
28608 2001-09-24  Jim Meyering  <meyering@lucent.com>
28609
28610         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
28611
28612 2001-09-23  Jim Meyering  <meyering@lucent.com>
28613
28614         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
28615         instead of the mere test for existence of mntent.h.  The latter
28616         would get a false-positive on AIX 3.4 systems.
28617         In the outer getmntent if-block, don't die if neither of the getmntent
28618         tests succeeds.  Instead, just fall through and continue with the
28619         remaining tests.
28620
28621 2001-09-23  Jim Meyering  <meyering@lucent.com>
28622
28623         * lib/mountlist.c: Remove useless parentheses in #if directives.
28624         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
28625         the deprecated MOUNTED symbol is no longer defined in mntent.h.
28626
28627 2001-09-22  Jim Meyering  <meyering@lucent.com>
28628
28629         * m4/gettext.m4: New file.  From gettext.
28630         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
28631         * m4/progtest.m4: Likewise
28632         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
28633         * m4/glibc21.m4: Likewise.
28634
28635         * m4/libintl.m4: Remove.  No longer used.
28636
28637 2001-09-22  Jim Meyering  <meyering@lucent.com>
28638
28639         * lib/localcharset.c: Update from latest gettext.
28640         * lib/config.charset: Likewise.
28641
28642 2001-09-20  Jim Meyering  <meyering@lucent.com>
28643
28644         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
28645         strtoimax.
28646         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
28647         strtoumax.
28648
28649 2001-09-20  Jim Meyering  <meyering@lucent.com>
28650
28651         * lib/xstrtol.c (strtoimax): Guard declaration with
28652         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
28653         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
28654         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
28655         (strtoumax): Likewise, for completeness (it wasn't necessary).
28656
28657 2001-09-17  Paul Eggert  <eggert@twinsun.com>
28658
28659         * lib/strtoimax.c (HAVE_LONG_LONG):
28660         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
28661         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
28662         to work around bug in IBM C compiler.
28663
28664 2001-09-17  Jim Meyering  <meyering@lucent.com>
28665
28666         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
28667         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
28668         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
28669         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
28670         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
28671         whenever the right hand side need not be expanded by the shell.
28672
28673 2001-09-16  Paul Eggert  <eggert@twinsun.com>
28674
28675         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
28676         library.  It's not correct, as some older glibcs are buggy.
28677         fnmatch wasn't fixed until glibc 2.2.
28678
28679         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
28680         special shell magic here.
28681
28682 2001-09-16  Jim Meyering  <meyering@lucent.com>
28683
28684         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
28685         * m4/jm-macros.m4: Require it.
28686
28687 2001-09-16  Jim Meyering  <meyering@lucent.com>
28688
28689         * lib/mkdir.c: New file.
28690
28691 2001-09-15  Jim Meyering  <meyering@lucent.com>
28692
28693         * m4/jm-macros.m4: Check for help2man.
28694
28695 2001-09-11  Jim Meyering  <meyering@lucent.com>
28696
28697         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
28698         The body, by Paul Eggert, was moved here from configure.in.
28699         * m4/jm-macros.m4: Require UTILS_HOST_OS.
28700
28701 2001-09-04  Paul Eggert  <eggert@twinsun.com>
28702
28703         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
28704         (jm_PREREQ): Use it.
28705
28706 2001-09-04  Paul Eggert  <eggert@twinsun.com>
28707
28708         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
28709         Use ssize_t, not int, to store result of readlink.
28710         Check for ssize_t overflow as well as size_t overflow,
28711         as POSIX says the result of readlink is implementation-defined
28712         when ssize_t overflows.
28713         Remove unnecessary cast to char*.
28714         Use free+malloc instead of realloc, as the storage doesn't need
28715         to be preserved and it's clearer and can be more efficient that way.
28716         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
28717         * lib/xreadlink.h (xreadlink): Update prototype.
28718
28719 2001-09-04  Paul Eggert  <eggert@twinsun.com>
28720
28721         * lib/xgetcwd.c: Revert some of the previous change; intead,
28722         fix the HAVE_GETCWD_NULL code to behave more like the
28723         !HAVE_GETCWD_NULL code used to.
28724
28725         Include "xalloc.h".
28726         (xgetcwd): Do not return NULL when memory is exhausted; instead,
28727         invoke xalloc_die.
28728
28729 2001-09-03  Paul Eggert  <eggert@twinsun.com>
28730
28731         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
28732         sys/param.h, as pathmax.h includes them.
28733
28734 2001-09-03  Paul Eggert  <eggert@twinsun.com>
28735
28736         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
28737         (jm_PREREQ_XGETCWD): New macro.
28738
28739         * m4/getcwd.m4: New file.
28740
28741 2001-09-03  Paul Eggert  <eggert@twinsun.com>
28742
28743         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
28744         like the HAVE_GETCWD_NULL code.
28745         Include pathmax.h if not HAVE_GETCWD.
28746         Do not include xalloc.h.
28747         (INITIAL_BUFFER_SIZE): New symbol.
28748         Do not use xmalloc / xrealloc, since the caller is responsible for
28749         handling errors.  Preserve errno around `free' during failure.
28750         Do not overrun buffer when using getwd.
28751
28752 2001-09-03  Paul Eggert  <eggert@twinsun.com>
28753
28754         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
28755         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
28756         getcwd (NULL, 0).
28757
28758 2001-09-03  Paul Eggert  <eggert@twinsun.com>
28759
28760         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
28761         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
28762         spotted by Jim Meyering.
28763
28764 2001-09-03  Jim Meyering  <meyering@lucent.com>
28765
28766         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
28767         failure.
28768
28769 2001-09-02  Jim Meyering  <meyering@lucent.com>
28770
28771         * lib/error.c: Update from GNU libc.
28772
28773 2001-09-01  Jim Meyering  <meyering@lucent.com>
28774
28775         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
28776         Used by df.
28777
28778 2001-09-01  Jim Meyering  <meyering@lucent.com>
28779
28780         * lib/xreadlink.c: New file.
28781         * lib/xreadlink.h: New file.
28782         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
28783         xreadlink.h.
28784
28785         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
28786         doesn't conflict with sparc Solaris 7's definition in
28787         /usr/include/sys/int_types.h.
28788
28789         * lib/exclude.c: Use `""', not `<>' to #include non-system header
28790         files.
28791         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
28792         and strncasecmp as r-values.  Unixware didn't have declarations.
28793
28794 2001-08-31  Paul Eggert  <eggert@twinsun.com>
28795
28796         * lib/xstrtol.h: Add copyright notice.
28797         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
28798         LONGINT_INVALID_SUFFIX_CHAR.
28799
28800 2001-08-31  Paul Eggert  <eggert@twinsun.com>
28801
28802         * lib/xstrtol.c (strtoimax): New decl.
28803
28804 2001-08-31  Paul Eggert  <eggert@twinsun.com>
28805
28806         * lib/xgetcwd.c: Don't include pathmax.h.
28807         Include stdlib.h and unistd.h if available.
28808         Include xalloc.h.
28809         (xmalloc, xstrdup, free): Remove decls.
28810         (xgetcwd): Don't assume sizes fit in unsigned.
28811         Check for overflow when computing sizes.
28812         Simplify reallocation code.
28813
28814 2001-08-31  Paul Eggert  <eggert@twinsun.com>
28815
28816         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
28817         a directory's st_size can have an arbitrary value, so the old
28818         usage could waste an arbitrary amount of memory.  All uses
28819         changed.
28820         * lib/savedir.h: Update prototype.
28821
28822 2001-08-31  Paul Eggert  <eggert@twinsun.com>
28823
28824         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
28825
28826         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
28827         old strtoimax.c.
28828
28829         Also, make the following further changes to make this file's
28830         configuration more similar to that of strtol.c:
28831         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
28832         (strtoumax, uintmax_t, strtoull, strtol): Remove.
28833         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
28834         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
28835         changed to signed values.
28836
28837         And make the following changes as well:
28838         Fix copyright notice, as 1999 was missing.
28839         (verify): New macro.
28840         (strtoimax): Check sizes at compile-time, not run-time.
28841         Prefer strtol to strtoll if both work.
28842         (main): Remove; it was not that useful and was a pain to maintain.
28843
28844         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
28845
28846 2001-08-31  Jim Meyering  <meyering@lucent.com>
28847
28848         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
28849         Use an initial, malloc'd, buffer of length 128 rather than
28850         a statically allocated one of length 1024.
28851
28852 2001-08-30  Paul Eggert  <eggert@twinsun.com>
28853
28854         Simplify code, partly by assuming autoconf 2.52 semantics.
28855
28856         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
28857
28858         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
28859         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
28860         All uses removed.
28861         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
28862         Move AC_REQUIRE to next-to-top level, to avoid confusion.
28863         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
28864         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
28865         jm_AC_HEADER_INTTYPES_H.
28866         * m4/jm-macros.m4 (jm_MACROS): Likewise.
28867
28868         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
28869
28870         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
28871         Quote first arg of AC_DEFUN.
28872         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
28873         since they are needed to parse the include file even if we need
28874         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
28875         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
28876         but with opposite signedness.
28877
28878 2001-08-30  Paul Eggert  <eggert@twinsun.com>
28879
28880         Merge 'exclude' changes from tar 1.13.22.
28881         This fixes one or two unlikely storage allocation overflow bugs,
28882         but doesn't change user-visible behavior otherwise.
28883
28884 2001-08-30  Paul Eggert  <eggert@twinsun.com>
28885
28886         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
28887         (jm_PREREQ_EXCLUDE): New macro.
28888
28889 2001-08-30  Paul Eggert  <eggert@twinsun.com>
28890
28891         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
28892         tm to be declared.
28893
28894 2001-08-30  Paul Eggert  <eggert@twinsun.com>
28895
28896         * lib/hash.c: Remove '2001' from copyright notice.
28897
28898 2001-08-30  Paul Eggert  <eggert@twinsun.com>
28899
28900         * lib/full-write.h: New file.
28901         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
28902         * lib/full-write.c: Correct credits, as cccp.c no longer
28903         exists and anyway it was so heavily changed from the old cccp
28904         code as to be unrecognizable.  Include full-write.h.
28905         (full_write) Return size_t, with short writes meaning failure.
28906         All callers changed.  This fixes a bug with large buffers
28907         on 64-bit hosts.
28908         * lib/utime.c: Include full-write.h.
28909
28910 2001-08-30  Paul Eggert  <eggert@twinsun.com>
28911
28912         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
28913         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
28914         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
28915         Include if available.
28916         (<xalloc.h>): Include
28917         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
28918         (verify): New macro.  Use it to verify that EXCLUDE macros do not
28919         collide with FNM macros.
28920         (struct patopts): New struct.
28921         (struct exclude): Use it, as exclude patterns now come with options.
28922         (new_exclude): Support above changes.
28923         (new_exclude, add_exclude_file):
28924         Initial size must now be a power of two to simplify overflow checking.
28925         (free_exclude, fnmatch_no_wildcards): New function.
28926         (excluded_filename): No longer requires options arg, as the options
28927         are determined by add_exclude.  Now returns bool, not int.
28928         (excluded_filename, add_exclude):
28929         Add support for the fancy new exclusion options.
28930         (add_exclude, add_exclude_file): Now takes int options arg.
28931         Check for arithmetic overflow when computing sizes.
28932         (add_exclude_file): xrealloc might modify errno, so don't
28933         realloc until after errno might be used.
28934
28935         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
28936         New macros.
28937         (free_exclude): New decl.
28938         (add_exclude, add_exclude_file): Now takes int options arg.
28939         (excluded_filename): No longer requires options arg, as the options
28940         are determined by add_exclude.  Now returns bool, not int.
28941
28942 2001-08-30  Paul Eggert  <eggert@twinsun.com>
28943
28944         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
28945
28946 2001-08-27  Jim Meyering  <meyering@lucent.com>
28947
28948         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
28949
28950         * lib/version-etc.c (N_): Remove definition.
28951         Revert most of last change.
28952         Instead, simply don't mark the `Copyright...' string for translation.
28953         Based on advice from Paul Eggert.
28954
28955         * lib/strtoxmax.c: Tweak comment.
28956
28957 2001-08-26  Jim Meyering  <meyering@lucent.com>
28958
28959         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
28960
28961         * m4/xstrtoimax.m4: New file.
28962         * m4/xstrtoumax.m4: Add comments explaining why we
28963         AC_REPLACE_FUNCS(strtol).
28964
28965 2001-08-26  Jim Meyering  <meyering@lucent.com>
28966
28967         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
28968         of copyright with `%s' so translators don't get an untranslated
28969         message in 2002.
28970         (COPYRIGHT_YEAR): Define.
28971         (version_etc): Use fprintf rather than fputs.
28972         Suggestion from Ulrich Drepper.
28973
28974         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
28975
28976         * lib/strtoll.c: New file, from GNU libc.
28977         * lib/xstrtoimax.c: New file.
28978
28979         * lib/xstrtol.h: Add xstrtoimax.
28980         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
28981         * lib/strtoimax.c: New file.  Likewise, but first define
28982         STRTOUXMAX_SIGNED.
28983
28984         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
28985         ...
28986         * lib/strtoxmax.c: ... then renamed to this.
28987
28988 2001-08-18  Paul Eggert  <eggert@twinsun.com>
28989
28990         * m4/inttypes.m4: Add AC_PREREQ(2.13).
28991         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
28992         (jm_AC_TYPE_INTMAX_T): New macro.
28993         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
28994
28995         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
28996
28997         * m4/longlong.m4: Renamed from ulonglong.m4.
28998         * m4/inttypes.m4: Renamed from inttypes_h.m4.
28999         * m4/uintmax_t.m4: Removed.
29000
29001 2001-08-13  Paul Eggert  <eggert@twinsun.com>
29002
29003         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
29004         Port to Solaris 8, where 'sed' requires a space after the 'r'
29005         command, and where sh dislikes "$/".  Clean up the spacing a bit.
29006         Redirect output to $tmp just once.
29007
29008 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
29009
29010         * lib/addext.c (<errno.h>): Include.
29011         (errno): Declare if not defined.
29012         (addext): Work correctly when pathconf returns -1 and leaves
29013         errno alone because there is no limit.  Also, work even if
29014         pathconf returns a value greater than SIZE_MAX.
29015
29016 2001-08-12  Jim Meyering  <meyering@lucent.com>
29017
29018         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
29019         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
29020         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
29021         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
29022         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
29023         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
29024         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
29025         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
29026         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
29027         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
29028         utime.m4, utimes.m4, xstrtoumax.m4:
29029         Quote the first argument in each use of AC_DEFUN.
29030
29031 2001-08-12  Jim Meyering  <meyering@lucent.com>
29032
29033         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
29034         Simply `return getcwd (NULL, 0);'.
29035         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
29036         Use 1300 as initial value for length, not PATH_MAX.
29037
29038         * lib/pathmax.h: Clean up cpp syntax.
29039
29040 2001-08-12  Jim Meyering  <meyering@lucent.com>
29041
29042         * lib/gettimeofday.c: New file.
29043         * lib/gtod.h: New file.
29044         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
29045
29046 2001-08-05  Jim Meyering  <meyering@lucent.com>
29047
29048         * m4/jm-macros.m4: Require autoconf-2.52.
29049
29050 2001-08-04  Jim Meyering  <meyering@lucent.com>
29051
29052         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
29053         stmt, to get in sync with glibc.
29054
29055 2001-08-03  Paul Eggert  <eggert@twinsun.com>
29056
29057         The following changes are from gettext 0.10.39 as maintained by
29058         Bruno Haible.
29059
29060         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
29061         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
29062         with inverted sense.  All uses changed.
29063
29064         * lib/mbswidth.c: Don't include <limits.h>.
29065         Include <stdlib.h> and <string.h> unconditionally.
29066         (iswcntrl, mbsinit, ISCNTRL): New macros.
29067         (mbsnwidth): Use K&R style function declarations.
29068         Don't bother checking for MB_LEN_MAX == 1, since the compiler
29069         can optimize it when MB_CUR_MAX == 1.
29070         The width of control characters is zero, not 1.
29071
29072 2001-08-03  Paul Eggert  <eggert@twinsun.com>
29073
29074         The following changes are from gettext 0.10.39 as maintained by
29075         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
29076
29077         * m4/codeset.m4: Upgrade to serial AM1.
29078         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
29079         all uses changed.  Quote first arg of AC_DEFUN.
29080         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
29081
29082         * m4/iconv.m4: Upgrade to serial AM2.
29083         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
29084         Add --with-libconv-prefix.
29085         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
29086         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
29087         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
29088         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
29089         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
29090
29091         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
29092         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
29093         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
29094         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
29095         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
29096         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
29097         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
29098         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
29099         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
29100
29101         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
29102         string.h any more.
29103
29104         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
29105         not the default value.
29106
29107         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
29108         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
29109         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
29110         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
29111         Also check for iswcntrl, used for wcwidth fallback.
29112         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
29113         to Autoconf 2.13.
29114
29115 2001-08-03  Jim Meyering  <meyering@lucent.com>
29116
29117         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
29118         as it was in the original.  Reported by Paul Eggert.
29119
29120 2001-07-16  Jim Meyering  <meyering@lucent.com>
29121
29122         * m4/gettimeofday.m4: New file.
29123         Prompted by a report from Bernhard Baehr.
29124
29125 2001-07-15  Jim Meyering  <meyering@lucent.com>
29126
29127         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
29128         stuff. Now it's in ../Makefile.cfg.
29129
29130 2001-07-15  Jim Meyering  <meyering@lucent.com>
29131
29132         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
29133         (BUILT_SOURCES): Add unlocked-io.h.
29134         (io_functions): Define.
29135         (unlocked-io.h): New rule.
29136         (DISTCLEANFILES): Add unlocked-io.h.
29137         (all-local): Depend on unlocked-io.h, to ensure it is created.
29138
29139         * lib/unlocked-io.hin: New file
29140
29141         * lib/regex.c: Update from glibc.
29142
29143 2001-07-05  Jim Meyering  <meyering@lucent.com>
29144
29145         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
29146         recommendation.
29147         (libfetish_a_SOURCES): Put all .h files here instead.
29148         Remove a thus-exposed (better checks in automake) duplicate and
29149         two unnecessary .h files.
29150
29151 2001-07-04  Jim Meyering  <meyering@lucent.com>
29152
29153         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
29154         that generates jm-glibc-io.m4 so that it doesn't trigger any make
29155         distcheck failure.
29156
29157 2001-07-02  Jim Meyering  <meyering@lucent.com>
29158
29159         The following changes were prompted by suggestions from Bruno Haible.
29160
29161         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
29162         is now generated.
29163         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
29164         definition of EXTRA_DIST.
29165         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
29166         ensure that the generated file is created/updated whenever the list
29167         of $(unlocked_functions) is changed.
29168         (jm-glibc-io.m4): New rule.
29169         (unlocked-io.h): New rule -- currently unused.
29170
29171 2001-06-24  Jim Meyering  <meyering@lucent.com>
29172
29173         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
29174         unmatched right bracket, rather than kludging it with an extra,
29175         falsely-matching quote in a comment.  Patch by Akim Demaille.
29176
29177 2001-06-11  Jim Meyering  <meyering@lucent.com>
29178
29179         * lib/regex.c: Update from GNU libc.
29180
29181 2001-05-27  Jim Meyering  <meyering@lucent.com>
29182
29183         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
29184         Check for ut_type in struct utmp.
29185
29186 2001-05-27  Jim Meyering  <meyering@lucent.com>
29187
29188         * lib/readutmp.h (UT_TYPE): Define.
29189
29190 2001-05-24  Jim Meyering  <meyering@lucent.com>
29191
29192         * lib/argmatch.c: Include "quote.h".
29193         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
29194         quote function.  Reported by Göran Uddeborg.
29195
29196 2001-05-22  Jim Meyering  <meyering@lucent.com>
29197
29198         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
29199         now that we use the package-supplied version unconditionally.
29200         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
29201
29202 2001-05-21  Jim Meyering  <meyering@lucent.com>
29203
29204         * m4/regex.m4: Change a couple backticks to single quotes to avoid
29205         shell syntax errors.
29206
29207 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
29208
29209         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
29210
29211 2001-05-20  Paul Eggert  <eggert@twinsun.com>
29212
29213         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
29214         Don't bother to check library strftime, since
29215         we'll be using our own my_strftime function anyway.
29216         Define my_strftime instead of strftime.
29217
29218 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
29219
29220         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
29221         which is not yet declared.
29222
29223 2001-05-15  Jim Meyering  <meyering@lucent.com>
29224
29225         * m4/regex.m4: Use proper quoting so brackets appear in the test
29226         program.
29227         Reported by, and with help from, Bruno Haible.
29228
29229 2001-05-13  Jim Meyering  <meyering@lucent.com>
29230
29231         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
29232         undefined.
29233
29234 2001-05-11  Paul Eggert  <eggert@twinsun.com>
29235
29236         dirname code cleanup.  base_name now behaves more compatibly
29237         with POSIX basename when given file names that have trailing
29238         slashes, and similarly for dir_name.  Add new primitives
29239         base_len and dir_len.  Put the directory-name-related decls
29240         into dirname.h.
29241
29242         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
29243         * lib/backupfile.c (base_name): Likewise.
29244         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
29245         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
29246         * lib/makepath.c (strip_trailing_slashes): Likewise.
29247         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
29248         ISSLASH): Likewise.
29249         * lib/rename.c (strip_trailing_slashes): Likewise.
29250         * lib/same.c (base_name): Likewise.
29251         * lib/stripslash.c (ISSLASH): Likewise.
29252
29253         * lib/addext.c: Include <dirname.h> after size_t is defined.
29254         * lib/backupfile.c: Likewise.
29255
29256         * lib/addext.c (addext): Use base_len to trim redundant
29257         trailing slashes instead of doing it ourselves.
29258         But do not trim the last slash if it is not redundant.
29259
29260         * lib/backupfile.c (find_backup_file_name,
29261         max_backup_version): Use base_len instead of rolling it ourselves.
29262         Handle the case of "" and (on DOS) "C:" correctly.
29263
29264         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
29265         needed. Include <string.h>, <dirname.h>.
29266         (base_name): Allow file names ending in slashes, other than names
29267         that are all slashes.  In this case, return the basename followed
29268         by the slashes.  This is more general, and can be used in places
29269         where the original base_name purposely had an assertion failure.
29270         (base_len): New function.
29271
29272         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
29273         Do not include <assert.h>; no longer needed.
29274         Include xalloc.h.
29275         (memrchr): Remove decl.
29276         (dir_name_r): Remove.
29277         (dir_len): Renamed from dirlen.  All callers changed.
29278         Rewrite in terms of base_name, for simplicity and consistency.
29279         (dir_name): Never return NULL.  All callers changed.
29280         Do not include <stdlib.h> in test program; no longer needed.
29281         return 0; is fine for test program.
29282
29283         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
29284         New macros.
29285         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
29286
29287         * lib/path-concat.c (path_concat): Use base_len to compute
29288         base length, not strlen; this means we cannot rely on memcpy
29289         to null-terminate.
29290
29291         * lib/same.c (STREQ): Remove.
29292         (same_name): Handle the case where the basename ends in trailing '/'.
29293
29294         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
29295         a slash was stripped.  Do not strip the last slash after a
29296         file system prefix.
29297
29298 2001-05-11  Paul Eggert  <eggert@twinsun.com>
29299
29300         * lib/Makefile.am (libfetish_a_SOURCES):
29301         Add strftime.c, since we now compile it on all hosts.
29302
29303         * lib/strftime.c (my_strftime):
29304         Define to nstrftime if emacs, but only if my_strftime is not defined.
29305         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
29306         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
29307         Add one more extra argument: a nanoseconds value.
29308         All uses changed.
29309         (ns): New macro.
29310         (my_strftime function): Add %N format.
29311         (emacs_strftimeu): Renamed from emacs_strftime,
29312         with extra ut argument.
29313
29314 2001-05-09  Paul Eggert  <eggert@twinsun.com>
29315
29316         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
29317
29318 2001-04-21  Jim Meyering  <meyering@lucent.com>
29319
29320         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
29321         doesn't interfere.
29322
29323 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
29324
29325         * m4/ftruncate.m4: Check for chsize.
29326         Link with ftruncate.o unconditionally if ftruncate is missing.
29327         This was required when cross-compiling to i586-mingw32msvc.
29328
29329 2001-04-08  Jim Meyering  <meyering@lucent.com>
29330
29331         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
29332         recomputed; that's necessary when the offset spans a DST transition.
29333         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
29334
29335 2001-04-02  Jim Meyering  <meyering@lucent.com>
29336
29337         * lib/regex.h, regex.c: Update from GNU libc.
29338
29339 2001-03-24  Jim Meyering  <meyering@lucent.com>
29340
29341         * m4/jm-macros.m4: Require autoconf-2.49d.
29342
29343 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
29344
29345         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
29346
29347 2001-03-19  Paul Eggert  <eggert@twinsun.com>
29348
29349         * lib/version-etc.c (version_etc_copyright): Update to 2001.
29350
29351 2001-03-17  Jim Meyering  <meyering@lucent.com>
29352
29353         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
29354         now that the version in autoconf is equivalent.
29355         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
29356
29357         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
29358         Suggestion from Akim Demaille.
29359
29360         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
29361         (jm_PREREQ_TEMPNAME): New function.
29362
29363 2001-03-16  Paul Eggert  <eggert@twinsun.com>
29364
29365         * lib/tempname.c (uint64_t): Define to uintmax_t if
29366         not defined, and if UINT64_MAX is not defined.
29367         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
29368         Reported by John David Anglin.
29369
29370 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
29371
29372         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
29373         resolve alias if codeset is empty.
29374         * lib/config.charset (BeOS): Use wildcard syntax.
29375
29376 2001-03-13  Jim Meyering  <meyering@lucent.com>
29377
29378         * lib/path-concat.c (path_concat)
29379         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
29380         concatenating e.g., `C:' and `foo'.
29381         From Bruno Haible.
29382
29383 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
29384
29385         * lib/localcharset.c (locale_charset): Don't use
29386         setlocale(LC_CTYPE,NULL). Don't return NULL.
29387         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
29388
29389 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
29390
29391         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
29392         support for DOS/DJGPP.
29393
29394 2001-03-01  Paul Eggert  <eggert@twinsun.com>
29395
29396         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
29397         lacks mkstemp.  Compile our own tempname.c if we compile our own
29398         mkstemp.c, as mkstemp relies on tempname.
29399
29400 2001-03-01  Jim Meyering  <meyering@lucent.com>
29401
29402         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
29403         AH_VERBATIM really does output its argument verbatim.
29404
29405 2001-02-28  Paul Eggert  <eggert@twinsun.com>
29406
29407         * lib/Makefile.am (libfetish_a_SOURCES):
29408         Add dup-safer.c, fopen-safer.c.
29409         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
29410
29411         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
29412         * lib/unistd-safer.h: New files.
29413
29414 2001-02-25  Paul Eggert  <eggert@twinsun.com>
29415
29416         The mkstemp replacement is taken from glibc 2.2.2, with some
29417         portability fixes for use outside glibc, as follows:
29418
29419         * lib/tempname.c (struct_stat64): New macro.
29420         (direxists, __gen_tempname): Use it.
29421         This avoids a portability problem with Solaris 8.
29422
29423         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
29424         (<stddef.h>, <stdint.h>, <string.h>):
29425         Include only if STDC_HEADERS || _LIBC.
29426         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
29427         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
29428         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
29429         (__set_errno): Define this macro if <errno.h> doesn't.
29430         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
29431         Define these macros if <stdio.h> doesn't.
29432         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
29433         Define these macros if <sys/stat.h>
29434         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
29435         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
29436         __xstat64): Define if not _LIBC.
29437         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
29438         (__gen_tempname): Invoke gettimeofday only if
29439         HAVE_GETTIMEOFDAY || _LIBC;
29440         otherwise, fall back on plain "time".
29441         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
29442
29443         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
29444
29445         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
29446
29447 2001-02-18  Paul Eggert  <eggert@twinsun.com>
29448
29449         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
29450
29451 2001-02-17  Paul Eggert  <eggert@twinsun.com>
29452
29453         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
29454         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
29455         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
29456         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
29457
29458 2001-02-17  Paul Eggert  <eggert@twinsun.com>
29459
29460         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
29461         Remove workaround macros for hosts that have mbrtowc but not
29462         mbstate_t, as we now insist on proper declarations for both
29463         before using mbrtowc.
29464
29465 2001-02-17  Jim Meyering  <meyering@lucent.com>
29466
29467         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
29468         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
29469         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
29470         UnixWare 7.1.1.
29471
29472         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
29473         rather than AC_CACHE_VAL.
29474
29475 2001-02-17  Jim Meyering  <meyering@lucent.com>
29476
29477         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
29478         around included file name.
29479
29480         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
29481
29482         * lib/strftime.c: Update from GNU libc (the only changes were to
29483         comments).
29484
29485 2001-02-17  Jim Meyering  <meyering@lucent.com>
29486
29487         * lib/regex.c: Update from libc.
29488
29489 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
29490
29491         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
29492         clash.
29493
29494 2001-02-16  Paul Eggert  <eggert@twinsun.com>
29495
29496         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
29497         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
29498         Reported by Mark Hounschell via Paul Eggert.
29499
29500 2001-02-07  Jim Meyering  <meyering@lucent.com>
29501
29502         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
29503
29504 2001-02-05  Jim Meyering  <meyering@lucent.com>
29505
29506         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
29507         it includes the patch required for `large file' support with at least
29508         HP-UX's 10.20 /bin/cc.
29509
29510 2001-02-03  Jim Meyering  <meyering@lucent.com>
29511
29512         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
29513         AS_IF, now that it works once again (mysteriously).
29514         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
29515
29516 2001-01-30  Jim Meyering  <meyering@lucent.com>
29517
29518         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
29519         * m4/chown.m4: Rename conftestchown to conftest.chown.
29520         * m4/rename.m4: s/conftestdir/conftest.d1/ and
29521         s/conftestdir2/conftest.d2/.
29522         * m4/utimes.m4: s/conftestdata/conftest.data/
29523         Inspired by Pavel Roskin's change in autoconf.
29524
29525 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
29526
29527         * lib/config.charset: Update for FreeBSD 4.2.
29528
29529 2001-01-27  Jim Meyering  <meyering@lucent.com>
29530
29531         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
29532         a use of AS_IF.
29533         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
29534
29535 2001-01-26  Jim Meyering  <meyering@lucent.com>
29536
29537         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
29538         quotearg.c includes it.
29539
29540 2001-01-26  Jim Meyering  <meyering@lucent.com>
29541
29542         * lib/quotearg.c: Include stddef.h.
29543         * lib/quote.c: Include stddef.h.
29544         Reported by Axel Kittenberger.
29545
29546         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
29547         line in double quotes so that it evokes a better diagnostic.
29548         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
29549         Reported by Axel Kittenberger.
29550
29551 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
29552
29553         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
29554         as if it was a `charset'.
29555
29556 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
29557
29558         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
29559         has const.
29560
29561 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
29562
29563         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
29564         to avoid a warning.  Add back 'const' to inptr.
29565
29566 2001-01-20  Jim Meyering  <meyering@lucent.com>
29567
29568         Be sure that headers are checked before used in code compiled
29569         for the type checks.
29570         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
29571         In place of that, invoke jm_CHECK_ALL_TYPES.
29572         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
29573         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
29574         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
29575         The check for ssize_t was mistakenly run before the test for unistd.h.
29576
29577         The configure-time check for stdbool.h was missing.
29578         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
29579         (jm_PREREQ_HASH): New function.
29580
29581 2001-01-17  Jim Meyering  <meyering@lucent.com>
29582
29583         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
29584         for autoconf-2.49c.
29585         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
29586
29587 2001-01-16  Jim Meyering  <meyering@lucent.com>
29588
29589         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
29590         From Bruno Haible.
29591
29592 2001-01-14  Jim Meyering  <meyering@lucent.com>
29593
29594         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
29595         foo and bar.  Create conftestdir/ in the script, not in the C code.
29596         Remove directories in the script, not in the C code.
29597         Remove conftestdir{,2} before trying to create the directory.
29598         Make the entire configure script fail if the mkdir fails.
29599
29600 2001-01-14  Jim Meyering  <meyering@lucent.com>
29601
29602         * lib/rename.c: New file.  From Volker Borchert.
29603         Include stdlib.h, string.h or strings.h, and xalloc.h.
29604         Use strip_trailing_slashes rather than open-coding it.
29605
29606 2001-01-03  Paul Eggert  <eggert@twinsun.com>
29607
29608         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
29609
29610 2001-01-03  Jim Meyering  <meyering@lucent.com>
29611
29612         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
29613         of local `inptr' to avoid warning with some system declarations of
29614         iconv.
29615
29616 2001-01-02  Volker Borchert  <bt@teknon.de>
29617
29618         * m4/rename.m4: New file.
29619         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
29620
29621 2001-01-01  Jim Meyering  <meyering@lucent.com>
29622
29623         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
29624         even on systems with utmpx.h.  It's necessary for the declaration of
29625         utmp's ut_user member.  Reported by Andreas Jaeger.
29626
29627         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
29628         available. They are required for the declarations of getgrgid and
29629         getpwuid resp.
29630         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
29631         Reported by Andreas Jaeger.
29632
29633 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
29634
29635         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
29636         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
29637         so `make install' also works in VPATH builds.
29638
29639 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
29640
29641         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
29642         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
29643         can be used in subdirectories.
29644
29645 2000-12-29  Paul Eggert  <eggert@twinsun.com>
29646
29647         * lib/modechange.c: Do not assume that mode_t uses the
29648         traditional octal encoding.  E.g. "chmod 1 FOO" should set
29649         the other-execute bit of FOO even if S_IXOTH != 1.
29650
29651         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
29652         WOTH, XOTH, ALLM): New macros.
29653         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
29654          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
29655         Use them.
29656         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
29657         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
29658         (mode_compile):
29659         No need to use uintmax_t; unsigned long is long enough.
29660         Don't bother to get suffix since we don't use it.
29661
29662 2000-12-26  Jim Meyering  <meyering@lucent.com>
29663
29664         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
29665         better with autoheader.
29666
29667 2000-12-24  Jim Meyering  <meyering@lucent.com>
29668
29669         * lib/hash.c (is_prime): Return explicit boolean values.
29670         (hash_get_first): Return NULL to appease Irix5.6's 89.
29671         Reported by Nelson Beebe.
29672
29673 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
29674
29675         * lib/localcharset.c (locale_charset): Add support for Win32.
29676
29677 2000-12-18  Paul Eggert  <eggert@twinsun.com>
29678
29679         * lib/physmem.h, lib/physmem.c: New files.
29680
29681         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
29682         (noinst_HEADERS): Add physmem.h.
29683
29684         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
29685         't' for compatibility with Solaris 8 sort.
29686
29687 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
29688
29689         * lib/config.charset: Add support for BeOS.
29690
29691 2000-12-17  Jim Meyering  <meyering@lucent.com>
29692
29693         * m4/dos.m4 (jm_AC_DOS): New file and macro.
29694         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
29695
29696 2000-12-16  Jim Meyering  <meyering@lucent.com>
29697
29698         This bug had a serious impact on chown: `chown N:M FILE' (for integer
29699         N and M) would have treated it like `chown N:N FILE'.
29700
29701         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
29702
29703 2000-12-16  Jim Meyering  <meyering@lucent.com>
29704
29705         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
29706         SHELLS_FILE to a file name that's useful on djgpp systems.
29707         Include stdlib.h.
29708         (ADDITIONAL_DEFAULT_SHELLS): Define.
29709         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
29710         Based mostly on a patch from Prashant TR.
29711
29712 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
29713
29714         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
29715         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
29716         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
29717
29718 2000-12-08  Andreas Schwab  <schwab@suse.de>
29719
29720         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
29721         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
29722
29723 2000-12-07  Jim Meyering  <meyering@lucent.com>
29724
29725         * lib/stripslash.c (ISSLASH): Define.
29726         (strip_trailing_slashes): Use ISSLASH rather than comparing against
29727         `/'.
29728         From Prashant TR.
29729
29730         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
29731         (dir_name_r): Declare this function as static.
29732         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
29733         manifest itself on a name containing a mix of slashes and
29734         backslashes.
29735         Make this function work with names starting with a DOS-style
29736         drive letter and colon prefix.
29737         (dir_name): Append `.' if necessary.
29738         Based mostly on patches from Prashant TR and Eli Zaretskii.
29739
29740         * lib/dirname.h (dir_name_r): Remove prototype.
29741
29742 2000-12-06  Paul Eggert  <eggert@twinsun.com>
29743
29744         * m4/off_t-format.m4: Remove this file.
29745         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
29746
29747 2000-12-06  Jim Meyering  <meyering@lucent.com>
29748
29749         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
29750         replacement strtoull, we may well need the replacement strtoul, too.
29751         Check for declarations of strtoul and strtoull.
29752         Check for strtol.  Mainly as a cue to cause automake to include
29753         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
29754         Check for limits.h -- strtol.c needs it.
29755
29756 2000-12-05  Jim Meyering  <meyering@lucent.com>
29757
29758         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
29759
29760 2000-12-04  Jim Meyering  <meyering@lucent.com>
29761
29762         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
29763         Also include memory.h, stdlib.h, unistd.h if appropriate.
29764         Reported by Andreas Jaeger (conflicting declaration of malloc).
29765
29766 2000-12-02  Jim Meyering  <meyering@lucent.com>
29767
29768         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
29769         * m4/jm-macros.m4 (jm_MACROS): require it.
29770
29771 2000-12-02  Jim Meyering  <meyering@lucent.com>
29772
29773         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
29774
29775 2000-12-01  Paul Eggert  <eggert@twinsun.com>
29776
29777         * lib/memrchr.c: Include <config.h> before any system include file.
29778
29779 2000-11-30  Jim Meyering  <meyering@lucent.com>
29780
29781         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
29782
29783 2000-11-30  Jim Meyering  <meyering@lucent.com>
29784
29785         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
29786
29787 2000-11-29  Paul Eggert  <eggert@twinsun.com>
29788
29789         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
29790
29791 2000-11-26  Jim Meyering  <meyering@lucent.com>
29792
29793         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
29794
29795 2000-11-22  Paul Eggert  <eggert@twinsun.com>
29796
29797         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
29798         size of (size_t) -1; it's not portable.
29799
29800 2000-11-17  Jim Meyering  <meyering@lucent.com>
29801
29802         * lib/strstr.c: Update from GNU libc.
29803
29804 2000-11-17  Akim Demaille  <akim@epita.fr>
29805
29806         * lib/obstack.h: Formatting changes.
29807         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
29808         prevent type checking.
29809         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
29810         cast the value to (void *): assigning a `foo *' to a `void *'
29811         variable is valid.
29812         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
29813
29814 2000-11-16  Jim Meyering  <meyering@lucent.com>
29815
29816         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
29817
29818 2000-11-11  Jim Meyering  <meyering@lucent.com>
29819
29820         * lib/error.c: Add a couple #includes, merging from GNU libc version.
29821
29822 2000-11-10  Jim Meyering  <meyering@lucent.com>
29823
29824         * lib/obstack.h: Update from GNU libc.
29825         * lib/obstack.c: Likewise.
29826
29827 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
29828
29829         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
29830
29831 2000-11-06  Paul Eggert  <eggert@twinsun.com>
29832
29833         * lib/getusershell.c (setusershell): Use rewind rather than
29834         fseek/fseeko, to avoid configuration hassles with fseeko.
29835         Don't bother opening SHELLS_FILE if shellstream is NULL;
29836         it's not necessary.
29837
29838 2000-11-05  Jim Meyering  <meyering@lucent.com>
29839
29840         * lib/makepath.h (make_dir): Declare.
29841         * lib/makepath.c (make_dir): Remove `static' attribute.
29842         Tweak a comment.
29843
29844 2000-11-04  Jim Meyering  <meyering@lucent.com>
29845
29846         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
29847
29848 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
29849
29850         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
29851         last one in a bucket, advance to the next bucket.
29852
29853 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
29854
29855         * lib/fnmatch.c: Do not comment out all the code if we are using
29856         the GNU C library, because in some cases we are replacing buggy
29857         code in the GNU C library itself.
29858
29859 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
29860
29861         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
29862         (regex_compile): Catch bogus \(\1\).
29863
29864 2000-10-30  Paul Eggert  <eggert@twinsun.com>
29865
29866         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
29867         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
29868         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
29869
29870 2000-10-30  Paul Eggert  <eggert@twinsun.com>
29871
29872         * lib/error.h, getline.h, modechange.h:
29873         Remove "2000" from Copyright line, as the file hasn't been
29874         changed this year other than in the copyright notice.
29875
29876         * lib/xalloc.h: Add "2000" to Copyright line, as this file
29877         was changed this year.
29878
29879 2000-10-29  Jim Meyering  <meyering@lucent.com>
29880
29881         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
29882         renaming.
29883         * m4/ls-mntd-fs.m4: Likewise
29884
29885 2000-10-29  Jim Meyering  <meyering@lucent.com>
29886
29887         * lib/xstat.in: Fix grammar in comment.
29888
29889 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
29890
29891         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
29892         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
29893         doesn't define __restrict_arr.
29894
29895 2000-10-28  Jim Meyering  <meyering@lucent.com>
29896
29897         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
29898         (jm_PREREQ_MEMCHR): New function.
29899
29900 2000-10-28  Jim Meyering  <meyering@lucent.com>
29901
29902         * lib/memchr.c: Update from libc.
29903         Adjust for portability:
29904         [HAVE_STDLIB_H]: Include stdlib.h.
29905         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
29906         Undef __memchr, too.
29907         [!weak_alias]: Define __memchr to memchr.
29908
29909         * lib/regex.c: Update from libc.
29910         * lib/regex.h: Likewise.
29911         * lib/getopt1.c: Likewise.
29912         * lib/memcmp.c: Likewise.
29913
29914         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
29915         Avoid using fseek, when possible -- it's broken by design.
29916         Patch by Ulrich Drepper.
29917
29918 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
29919
29920         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
29921         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
29922         Giving in to popular pressure to shut up the compiler with casts.
29923
29924 2000-10-26  Jim Meyering  <meyering@lucent.com>
29925
29926         * lib/strftime.c: Update from libc.
29927
29928 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
29929
29930         * regex.c: More `unsigned char' -> `re_char' changes.
29931         Also change several `int' into `re_wchar_t'.
29932         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
29933         (PUSH_FAILURE_POINTER): Don't cast any more.
29934         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
29935         We want GCC to complain, since this piece of code makes
29936         re_match non-reentrant, which *should* be fixed.
29937         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
29938         (EXTEND_BUFFER): Use RETALLOC.
29939         (SET_LIST_BIT): Don't cast.
29940         (re_wchar_t): New type.
29941         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
29942         that those two functions will always properly return.
29943         (IMMEDIATE_QUIT_CHECK): Cast to void.
29944         (analyse_first): Use recursion rather than an explicit stack.
29945         (re_compile_fastmap): Can't fail anymore.
29946         (re_search_2): Don't check re_compile_fastmap for failure.
29947         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
29948         Now also sets the new value (passed in a new argument).
29949         (re_match_2_internal): Use it.
29950         Also, use a new var `reg' of type size_t when looping through regs
29951         rather than reuse the inappropriate `mcnt'.
29952
29953 2000-10-25  Jim Meyering  <meyering@lucent.com>
29954
29955         * lib/obstack.c: Update from libc.
29956
29957 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
29958
29959         * regex.c (regex_compile): Change the way of handling a range from
29960         a char less than 256 to a char not less than 256.
29961
29962 2000-10-24  Andrew Innes  <andrewi@gnu.org>
29963
29964         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
29965         NT-Emacs only.
29966         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
29967         so that re_search functions only quit when callers expect them to.
29968
29969 2000-10-23  Jim Meyering  <meyering@lucent.com>
29970
29971         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
29972         wrong.  That set_locale call must not have any side effects.
29973         From Paul Eggert.
29974
29975 2000-10-22  Jim Meyering  <meyering@lucent.com>
29976
29977         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
29978         [CYCLIC]: Remove now-unused definition.
29979
29980         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
29981         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
29982         Suggestion from Ulrich Drepper.
29983
29984 2000-10-21  Jim Meyering  <meyering@lucent.com>
29985
29986         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
29987         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
29988         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
29989
29990 2000-10-21  Jim Meyering  <meyering@lucent.com>
29991
29992         * lib/dirname.c (memrchr): Declare if necessary.
29993         (dir_name): Remove the restriction that there be no
29994         trailing slashes.  Now, this code skips past them, effectively
29995         ignoring them.
29996         [TEST_DIRNAME] (main): New unit tests.
29997
29998         * lib/memrchr.c: New file from GNU libc.
29999         Undef __memrchr, too.
30000         [!weak_alias]: Define __memrchr to memrchr.
30001         Guard weak_alias use with `#ifdef weak_alias'.
30002
30003 2000-10-21  Jim Meyering  <meyering@lucent.com>
30004
30005         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
30006         (dir_name): Use dir_name_r.
30007         * lib/dirname.h (dir_name_r): Declare it.
30008
30009 2000-10-17  Jim Meyering  <meyering@lucent.com>
30010
30011         * lib/quote.h (PARAMS): Define and use.
30012         Reported by Akim Demaille.
30013
30014         * lib/getopt.c: Update from libc.
30015
30016 2000-10-16  Jim Meyering  <meyering@lucent.com>
30017
30018         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
30019         setlocale.
30020         From Jan Fedak.
30021
30022 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
30023
30024         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
30025
30026 2000-09-25  Jim Meyering  <meyering@lucent.com>
30027
30028         * lib/md5.h (rol): Define (from GnuPG).
30029
30030         * lib/sha.c: Give credit (GnuPG) where due.
30031         (M): Use rol rather than open-coding it.
30032         Add a FIXME comment.
30033
30034 2000-09-21  Jim Meyering  <meyering@lucent.com>
30035
30036         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
30037         Reported by Michael Stone.
30038
30039 2000-09-20  Jim Meyering  <meyering@lucent.com>
30040
30041         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
30042         (noinst_HEADERS): Add sha.h.
30043         Based on code from Scott G. Miller and from GnuPG.
30044
30045 2000-09-18  Jim Meyering  <meyering@lucent.com>
30046
30047         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
30048         LIBS. Otherwise, everyone ends up linking with -lelf for some
30049         configurations.
30050         Reported by Mike Stone.
30051
30052 2000-09-15  Jim Meyering  <meyering@lucent.com>
30053
30054         * lib/regex.c: Update from libc.
30055
30056 2000-09-10  Jim Meyering  <meyering@lucent.com>
30057
30058         * lib/getopt.c (_getopt_internal): Update from glibc.
30059
30060 2000-09-09  Jim Meyering  <meyering@lucent.com>
30061
30062         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
30063         think it should be used as a general replacement for isascii.
30064         * lib/fnmatch.c: Likewise.
30065         * lib/mbswidth.c: Likewise
30066         * lib/regex.c: Likewise.
30067
30068         Don't use atoi.
30069         * lib/userspec.c: Include sys/param.h and limits.h.
30070         Include xstrtol.h.
30071         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
30072         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
30073         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
30074         UID, GID.  Check range.
30075
30076 2000-09-06  Jim Meyering  <meyering@lucent.com>
30077
30078         * lib/getopt.c (_getopt_internal): Update from glibc.
30079
30080 2000-08-30  Jim Meyering  <meyering@lucent.com>
30081
30082         * lib/strftime.c: Merge in changes from GNU libc.
30083
30084 2000-08-26  Jim Meyering  <meyering@lucent.com>
30085
30086         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
30087         * m4/fpending.m4: New file.
30088
30089 2000-08-26  Jim Meyering  <meyering@lucent.com>
30090
30091         * lib/closeout.c: Include "__fpending.h".
30092         (close_stdout_status): Return right away if there's nothing to flush.
30093
30094         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
30095         * lib/__fpending.c: New file.
30096         * lib/__fpending.h: New file.
30097
30098 2000-08-20  Jim Meyering  <meyering@lucent.com>
30099
30100         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
30101         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
30102         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
30103
30104 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
30105
30106         Improve fileutils installation on systems where running
30107         programs (like install) can't be unlinked.
30108         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
30109         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
30110
30111 2000-08-07  Paul Eggert  <eggert@twinsun.com>
30112
30113         Standardize on "memory exhausted" instead of "Memory exhausted"
30114         or "virtual memory exhausted".
30115         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
30116         "virtual memory exhausted".
30117         * lib/same.c (same_name): Invoke xalloc_die instead of printing
30118         our own message.
30119         * lib/userspec.c (parse_user_spec): Likewise.
30120         * lib/bumpalloc.h: comment fix
30121         * lib/same.c, userspec.c: Include xalloc.h.
30122
30123         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
30124         not char *const and pointing to a constant array.
30125         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
30126         (xrealloc): Comment fix.
30127
30128         * lib/userspec.c (parse_user_spec):
30129         Don't translate a message until just before returning,
30130         to avoid unnecessary translation.
30131
30132 2000-08-07  Jim Meyering  <meyering@lucent.com>
30133
30134         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
30135         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
30136         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
30137         getgroups.c, gethostname.c, getopt.h, group-member.c,
30138         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
30139         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
30140         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
30141         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
30142         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
30143         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
30144         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
30145         yesno.c: Back out Copyright date changes for each file with no change
30146         this year.  This eases coordination with other programs using the same
30147         source code modules.  From Paul Eggert.
30148
30149 2000-08-06  Paul Eggert  <eggert@twinsun.com>
30150
30151         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
30152         not char, for compatibility with glibc 2.1.3 strftime.c.
30153
30154 2000-08-03  Greg McGary  <greg@mcgary.org>
30155
30156         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
30157         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
30158         (EXTEND_BUFFER): Use them.
30159
30160 2000-08-01  Jim Meyering  <meyering@lucent.com>
30161
30162         * lib/dirname.c (ISSLASH): Define.
30163         (BACKSLASH_IS_PATH_SEPARATOR): Define.
30164         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
30165         both `\' and `/' may be use as path separators.
30166         Based on a patch from Prashant TR.
30167
30168 2000-07-31  Paul Eggert  <eggert@twinsun.com>
30169
30170         * lib/quotearg.c (quotearg_n_options): Don't make the initial
30171         slot vector a constant, since it might get modified.
30172
30173 2000-07-31  Jim Meyering  <meyering@lucent.com>
30174
30175         * lib/xmalloc.c: Use `virtual memory exhausted', not
30176         `Memory exhausted'.
30177         * lib/obstack.c (print_and_abort): Likewise.
30178
30179 2000-07-30  Paul Eggert  <eggert@twinsun.com>
30180
30181         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
30182         buffer, so that the caller can always quote one small
30183         component of a "memory exhausted" message in slot 0.
30184         From a suggestion by Jim Meyering.
30185
30186 2000-07-30  Jim Meyering  <meyering@lucent.com>
30187
30188         * lib/makepath.c (make_path): Quote the other instance, too.
30189
30190         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
30191         (STATIC_BUF_SIZE): Define.
30192         (quotearg_n_options): Use only statically allocated storage when
30193         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
30194         than STATIC_BUF_SIZE.
30195
30196 2000-07-29  Jim Meyering  <meyering@lucent.com>
30197
30198         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
30199         * lib/dirname.c (dir_name): Likewise.
30200
30201         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
30202         `/'.
30203
30204         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
30205         (dir_name): Assert that there are no trailing slashes.
30206
30207 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
30208
30209         * lib/mbswidth.h (mbswidth): Add a flags argument.
30210         (mbswidth): New declaration.
30211         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
30212         * lib/mbswidth.c (mbswidth): Add a flags argument.
30213         (mbsnwidth): New function.
30214
30215 2000-07-24  Jim Meyering  <meyering@lucent.com>
30216
30217         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
30218
30219 2000-07-23  Paul Eggert  <eggert@twinsun.com>
30220
30221         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
30222
30223 2000-07-23  Paul Eggert  <eggert@twinsun.com>
30224
30225         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
30226         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
30227         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
30228         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
30229         invoke multibyte primitives.
30230
30231 2000-07-23  Paul Eggert  <eggert@twinsun.com>
30232
30233         * lib/quotearg.c:
30234         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
30235         so that mbstate_t is always defined.
30236
30237         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
30238         be 1 in at least one GCC installation, and this configuration
30239         error is likely to be common.  Ignoring MB_LEN_MAX hurts
30240         performance on hosts that have mbrtowc but have only unibyte
30241         locales, but I assume these hosts are rare.
30242
30243 2000-07-23  Paul Eggert  <eggert@twinsun.com>
30244
30245         * lib/mbswidth.c (_XOPEN_SOURCE):
30246         Don't define; this causes problems on Solaris 7.
30247         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
30248
30249 2000-07-23  Jim Meyering  <meyering@lucent.com>
30250
30251         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
30252         too: getgrgid, getpwuid, getuid.
30253
30254 2000-07-23  Jim Meyering  <meyering@lucent.com>
30255
30256         * lib/basename.c (base_name): Add an assertion.
30257
30258 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
30259
30260         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
30261         shadow its mbsinit function.
30262
30263 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
30264
30265         * lib/mbswidth.h: New file.
30266         * lib/mbswidth.c: New file.
30267         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
30268         (noinst_HEADERS): Add mbswidth.h.
30269
30270 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
30271
30272         * lib/config.charset: Add support for FreeBSD. Improve support for
30273         HP-UX and IRIX 6.
30274
30275 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
30276
30277         * m4/mbswidth.m4: New file.
30278         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
30279
30280 2000-07-15  Jim Meyering  <meyering@lucent.com>
30281
30282         * lib/makepath.c: Include quote.h.
30283         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
30284         corresponding argument in a `quote (...)' call.
30285         Give better diagnostics.
30286
30287         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
30288         (noinst_HEADERS): Add quote.h.
30289
30290         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
30291         from tar's src/misc.c.
30292         * lib/quote.h: New file.  Prototypes for same.
30293
30294 2000-07-14  Paul Eggert  <eggert@twinsun.com>
30295
30296         From a suggestion by Bruno Haible.
30297         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
30298         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
30299         to decide whether to define the BeOS workaround macro;
30300         this adjusts to the change to AC_MBSTATE_T.
30301
30302 2000-07-14  Jim Meyering  <meyering@lucent.com>
30303
30304         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
30305         jm_AC_TYPE_UINTMAX_T.
30306
30307 2000-07-13  Paul Eggert  <eggert@twinsun.com>
30308
30309         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
30310
30311         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
30312         quotearg_buffer_restyled): Add support for
30313         clocale_quoting_style.  Undo previous change to
30314         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
30315         and "{RIGHT QUOTATION MARK}" msgids.
30316
30317 2000-07-10  Paul Eggert  <eggert@twinsun.com>
30318
30319         From a suggestion by Bruno Haible.
30320         * m4/mbstate_t.m4 (AC_MBSTATE_T):
30321         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
30322         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
30323         and mbstate_t, to a single-part test that simply defines mbstate_t.
30324         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
30325         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
30326
30327 2000-07-10  Jim Meyering  <meyering@lucent.com>
30328
30329         * m4/strerror_r.m4: Mirror the correction made in autoconf.
30330
30331         * m4/gnu-source.m4: Output to confdefs.h directly.
30332         Suggestion from Akim Demaille.
30333
30334 2000-07-09  Paul Eggert  <eggert@twinsun.com>
30335
30336         The old behavior of quoting `like this' doesn't look good with
30337         newer, ISO-style fonts.  See:
30338         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
30339
30340         Instead, quote "like this" by default.  Let the translator
30341         tailor the locale-specific quoting behavior by providing
30342         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
30343
30344         * lib/quotearg.c (N_): New macro.
30345         (gettext_default): New function.
30346         (quotearg_buffer_restyled): Use
30347         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
30348         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
30349
30350 2000-07-09  Jim Meyering  <meyering@lucent.com>
30351
30352         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
30353         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
30354
30355         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
30356         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
30357
30358 2000-07-09  Jim Meyering  <meyering@lucent.com>
30359
30360         * lib/Most files: Update copyright dates to include 2000.
30361
30362 2000-07-08  Jim Meyering  <meyering@lucent.com>
30363
30364         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
30365         if not defined.
30366         (xgethostname): Remove now-unnecessary #ifdef.
30367         Move declaration of `err' into loop where it's used.
30368
30369 2000-07-05  Paul Eggert  <eggert@twinsun.com>
30370         and Bruno Haible  <haible@clisp.cons.org>
30371
30372         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
30373         only if the test for an object-type mbstate_t fails.  This
30374         prevents us from mistakenly reporting that mbstate_t is a
30375         system object type after we "#define mbstate_t int" to work
30376         around its lack.
30377
30378 2000-07-05  Paul Eggert  <eggert@twinsun.com>
30379         and Bruno Haible  <haible@clisp.cons.org>
30380
30381         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
30382
30383 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
30384
30385         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
30386         to strerror_r.
30387         Include <ctype.h> for use of isalpha.
30388
30389 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
30390
30391         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
30392         by allocating a larger buffer. Test the gethostname return value for
30393         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
30394         returns an error and ENAMETOOLONG isn't defined.
30395
30396 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
30397
30398         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
30399         dimension.
30400
30401 2000-07-04  Jim Meyering  <meyering@lucent.com>
30402
30403         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
30404         of the deprecated AC_CHECKING.
30405
30406 2000-07-04  Jim Meyering  <meyering@lucent.com>
30407
30408         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
30409         Reported by Bruno Haible.
30410
30411 2000-07-04  Jim Meyering  <meyering@lucent.com>
30412
30413         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
30414         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
30415         lacks mbrtowc.
30416
30417 2000-07-03  Paul Eggert  <eggert@twinsun.com>
30418
30419         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
30420         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
30421
30422 2000-07-03  Paul Eggert  <eggert@twinsun.com>
30423         and Bruno Haible  <haible@clisp.cons.org>
30424
30425         * lib/quotearg.c (mbrtowc):
30426         Assign to *pwc, and return 1 only if result is nonzero.
30427         (iswprint): Use ISPRINT when substituting our own mbrtowc.
30428
30429 2000-07-03  Jim Meyering  <meyering@lucent.com>
30430
30431         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
30432
30433 2000-07-03  Jim Meyering  <meyering@lucent.com>
30434
30435         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
30436         This is necessary to get a definition of e.g., UTMP_FILE on
30437         HP-UX 10.20.
30438         From Bob Proulx.
30439
30440 2000-07-02  Jim Meyering  <meyering@lucent.com>
30441
30442         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
30443
30444         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
30445         AC_LIBOBJ(function_name).
30446         * m4/chown.m4: Likewise.
30447         * m4/fnmatch.m4: Likewise.
30448         * m4/ftruncate.m4: Likewise.
30449         * m4/getgroups.m4: Likewise.
30450         * m4/getline.m4: Likewise.
30451         * m4/group-member.m4: Likewise.
30452         * m4/jm-macros.m4: Likewise.
30453         * m4/lstat.m4: Likewise.
30454         * m4/malloc.m4: Likewise.
30455         * m4/memcmp.m4: Likewise.
30456         * m4/nanosleep.m4: Likewise.
30457         * m4/putenv.m4: Likewise.
30458         * m4/realloc.m4: Likewise.
30459         * m4/regex.m4: Likewise.
30460         * m4/stat.m4: Likewise.
30461         * m4/strftime.m4: Likewise.
30462
30463 2000-07-02  Jim Meyering  <meyering@lucent.com>
30464
30465         * lib/quotearg.c (mbstate_t): Don't define here.
30466
30467 2000-07-02  Jim Meyering  <meyering@lucent.com>
30468
30469         * lib/nanosleep.c (SIGCONT): Define if not already defined.
30470
30471 2000-07-01  Jim Meyering  <meyering@lucent.com>
30472
30473         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
30474
30475 2000-07-01  Jim Meyering  <meyering@lucent.com>
30476
30477         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
30478         problem.
30479
30480 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
30481
30482         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
30483         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
30484
30485 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
30486
30487         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
30488         per change in ../m4/ls-mntd-fs.m4.
30489         (read_filesystem_list): Ignore symbolic links.
30490
30491 2000-06-29  Jim Meyering  <meyering@lucent.com>
30492
30493         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
30494         for declaration of strcmp.
30495
30496         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
30497
30498         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
30499         Avoid warning by casting result to `char *' to remove `const'.
30500
30501 2000-06-28  Jim Meyering  <meyering@lucent.com>
30502
30503         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
30504         included by quotearg.c, for which we perform this test.  From
30505         Bruno Haible.
30506
30507 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
30508
30509         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
30510         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
30511         <utmpx.h> exists, put readutmp.o into LIBOBJS.
30512
30513 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
30514
30515         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
30516
30517 2000-06-26  Paul Eggert  <eggert@twinsun.com>
30518
30519         savedir now sets errno on failure and invokes xmalloc to get memory.
30520         Fix a couple of other minor bugs while we're at it.
30521
30522         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
30523         (NAMLEN): Remove macro.
30524         (malloc, realloc): Remove decls.
30525         (stpcpy): Likewise.
30526         ("xalloc.h"): Include.
30527         (NAME_SIZE_DEFAULT): New macro.
30528         (savedir): Use xmalloc / xrealloc to allocate memory.
30529         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
30530         Skip "" directory entries.
30531         Use strlen to calculate directory entry length, since the old method
30532         is rarely used these days and isn't worth supporting.
30533         Don't use a pointer after freeing it.
30534         Check for integer overflow when calculating allocation size.
30535         Use memcpy to copy entries, instead of stpcpy.
30536         Set errno properly when returning NULL.
30537         Check for readdir error.
30538
30539 2000-06-26  Jim Meyering  <meyering@lucent.com>
30540
30541         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
30542
30543 2000-06-25  Jim Meyering  <meyering@lucent.com>
30544
30545         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
30546         Linux header bug when _XOPEN_SOURCE is defined to 500.
30547
30548 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
30549
30550         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
30551         deficiency.
30552
30553 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
30554
30555         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
30556         Include xalloc.h.
30557         Don't include <stdlib.h>.  Don't declare malloc, realloc.
30558
30559 2000-06-24  Jim Meyering  <meyering@lucent.com>
30560
30561         * m4/strerror_r.m4: Revive this file -- to try out an experimental
30562         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
30563         for which strerror does return char*, but which lacks a conveniently
30564         accessible declaration of the function.  If the compile-test says
30565         strerror_r doesn't work, then resort to a `run'-test that works on
30566         BeOS and segfaults on DEC Unix.
30567
30568 2000-06-24  Jim Meyering  <meyering@lucent.com>
30569
30570         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
30571
30572 2000-06-23  Paul Eggert  <eggert@twinsun.com>
30573
30574         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
30575         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
30576
30577 2000-06-23  Paul Eggert  <eggert@twinsun.com>
30578
30579         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
30580         (mbrtowc, mbstate_t): Define substitutes if
30581         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
30582         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
30583         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
30584
30585 2000-06-23  Jim Meyering  <meyering@lucent.com>
30586
30587         * m4/afs.m4: Add missing AC_MSG_RESULT.
30588         Reported by Bruno Haible.
30589
30590         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
30591         Suggestion from Bruno Haible.
30592
30593 2000-06-23  Jim Meyering  <meyering@lucent.com>
30594
30595         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
30596
30597 2000-06-21  Jim Meyering  <meyering@lucent.com>
30598
30599         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
30600
30601 2000-06-21  Jim Meyering  <meyering@lucent.com>
30602
30603         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
30604         (noinst_HEADERS): Add getstr.h.
30605
30606         * lib/getline.c (getstr): Move into a separate file.
30607         * lib/getstr.c (getstr): New file, extracted from getline.c, with
30608         the following changes: new parameter, delim2; both delim[12]
30609         parameters have type `int', not `char'.  The latter would lose
30610         with 8-bit delimiters.
30611         * lib/getstr.h: New file.
30612
30613 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
30614
30615         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
30616         than 1024, return a memory chunk of least possible size, instead
30617         of size PATH_MAX + 2. In the loop, increment the size proportionally.
30618         Use free/xmalloc instead of xrealloc to avoid copying for very long
30619         paths.
30620
30621 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
30622
30623         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
30624         the empty string.
30625
30626 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
30627
30628         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
30629         address, not strdup.  Include <stdlib.h> and don't declare free().
30630
30631 2000-06-19  Jim Meyering  <meyering@lucent.com>
30632
30633         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
30634
30635 2000-06-18  Jim Meyering  <meyering@lucent.com>
30636
30637         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
30638
30639         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
30640         `checking whether...' message to be consistent with that of the
30641         lstat test.
30642
30643 2000-06-18  Jim Meyering  <meyering@lucent.com>
30644
30645         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
30646         Besides, these days every porting target provides a mkdir function.
30647
30648         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
30649         needed. (this snippet comes from src/system.h).
30650
30651 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
30652
30653         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
30654
30655 2000-06-15  Paul Eggert  <eggert@twinsun.com>
30656
30657         * lib/human.c (adjust_value): New function.
30658         (human_readable_inexact): Apply rounding style even when
30659         printing approximate values.
30660
30661 2000-06-14  Paul Eggert  <eggert@twinsun.com>
30662
30663         * lib/human.c (human_readable_inexact): Allow an input block
30664         size that is not a multiple of the output block size, and vice versa.
30665         Reported by Piergiorgio Sartor.
30666
30667 2000-06-14  Paul Eggert  <eggert@twinsun.com>
30668
30669         * lib/getdate.y (get_date): Apply relative times after time
30670         zone indicator, not before.  Reported by Todd A. Jacobs.
30671
30672 2000-06-13  Jim Meyering  <meyering@lucent.com>
30673
30674         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
30675
30676         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
30677
30678 2000-06-12  Paul Eggert  <eggert@twinsun.com>
30679
30680         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
30681
30682 2000-06-12  Jim Meyering  <meyering@lucent.com>
30683
30684         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
30685         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
30686         optional argument.
30687         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
30688         the optional argument, `lib'.
30689
30690 2000-06-08  Jim Meyering  <meyering@lucent.com>
30691
30692         * m4/largefile.m4: Remove file (now that it's part of autoconf).
30693
30694 2000-06-04  Paul Eggert  <eggert@twinsun.com>
30695
30696         Rewrite largefile configuration so that we don't need to run
30697         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
30698         AC_CANONICAL_HOST in configure.in -- jmm]
30699
30700         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
30701         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
30702         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
30703         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
30704         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
30705         All uses changed.
30706         Instead of inspecting the output of getconf, try to compile the
30707         test program without and with the macro definition.
30708         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
30709         for getconf.  Instead, check for the needed flags by compiling
30710         test programs.
30711
30712 2000-06-04  Paul Eggert  <eggert@twinsun.com>
30713
30714         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
30715
30716 2000-06-04  Jim Meyering  <meyering@lucent.com>
30717
30718         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
30719         SunOS 4.1.4 for which gid_t is an unsigned type.
30720
30721 2000-06-03  Jim Meyering  <meyering@lucent.com>
30722
30723         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
30724         now that autoconf requires that.
30725
30726         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
30727         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
30728         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
30729
30730 2000-06-03  Jim Meyering  <meyering@lucent.com>
30731
30732         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
30733
30734 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
30735
30736         * m4/glibc21.m4: New file.
30737         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
30738
30739 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
30740
30741         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
30742         newer, don't install charset.alias.
30743         * lib/config.charset: Change the Linux/glibc rules so they become empty
30744         on glibc-2.1 or newer.
30745
30746 2000-06-02  Jim Meyering  <meyering@lucent.com>
30747
30748         * lib/mountlist.c: Back out last change.  Instead, do this...
30749         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
30750         me_dummy member using the same `ignore'-testing code.
30751         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
30752         fs_type strings.
30753         From Mark D. Roth.
30754
30755 2000-05-29  Jim Meyering  <meyering@lucent.com>
30756
30757         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
30758         mounts with the `ignore' attribute.  Based on a patch from
30759         Mark D. Roth.
30760
30761 2000-05-28  Jim Meyering  <meyering@lucent.com>
30762
30763         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
30764         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
30765         * m4/stat.m4: Likewise.
30766         * m4/lstat.m4: Likewise.
30767         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
30768
30769         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
30770         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
30771
30772 2000-05-26  Jim Meyering  <meyering@lucent.com>
30773
30774         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
30775
30776 2000-05-24  Jim Meyering  <meyering@lucent.com>
30777
30778         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
30779         autoconf requires that.
30780         * m4/lib-check.m4: Likewise.
30781         * m4/jm-macros.m4: Likewise.
30782         * m4/strftime.m4: Likewise.
30783
30784         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
30785         AC_CHECK_DECLS, now that autoconf requires that.
30786
30787 2000-05-22  Jim Meyering  <meyering@lucent.com>
30788
30789         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
30790         * m4/lstat.m4: Likewise.
30791
30792 2000-05-22  Jim Meyering  <meyering@lucent.com>
30793
30794         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
30795
30796 2000-05-20  Jim Meyering  <meyering@lucent.com>
30797
30798         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
30799         (jm_PREREQ): Use it.
30800
30801 2000-05-18  Jim Meyering  <meyering@lucent.com>
30802
30803         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
30804         back, too, since it may have been modified by allocate_entry.
30805         (hash_delete): Rewrite to use neither the assignment operator
30806         nor the comma operator in an if-expression.
30807
30808 2000-05-15  Paul Eggert  <eggert@twinsun.com>
30809
30810         * lib/closeout.c:
30811         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
30812         Remove; no longer needed.
30813         "quotearg.h": Add include.
30814         (file_name): Do not bother to explicitly initialize to NULL; it's less
30815         efficient on some hosts.
30816         (close_stdout_status): Remove test as to whether stdout was already
30817         closed; it breaks for the case "echo x | sort >&-".
30818         Quote file name colons.
30819         Do not assume that _("write error") lacks format strings.
30820
30821 2000-05-15  Jim Meyering  <meyering@lucent.com>
30822
30823         * lib/version-etc.c (version_etc_copyright): Update the copyright
30824         string used in all --version output.
30825
30826 2000-05-14  Jim Meyering  <meyering@lucent.com>
30827
30828         * lib/closeout.c (close_stdout_set_file_name): New function.
30829         (close_stdout_status): Use new file-scoped global.
30830         Return right away if fstat says the stdout file descriptor is invalid.
30831         * lib/closeout.h (close_stdout_set_file_name): Declare.
30832
30833 2000-05-10  Jim Meyering  <meyering@lucent.com>
30834
30835         * lib/closeout.c [default_exit_status]: New file-scoped variable.
30836         (close_stdout_set_status): New function.
30837         * lib/closeout.h (close_stdout_set_status): Declare.
30838
30839 2000-05-09  Jim Meyering  <meyering@lucent.com>
30840
30841         * m4/gettext.m4: Rename this...
30842         * m4/libintl.m4: ...to this.
30843
30844 2000-05-08  Jim Meyering  <meyering@lucent.com>
30845
30846         * lib/long-options.c: Don't include closeout.h.
30847         (parse_long_options): Don't call close_stdout for --version.
30848
30849 2000-05-06  Paul Eggert  <eggert@twinsun.com>
30850
30851         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
30852         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
30853         2.1.3 bug.  This avoids a clash when files like regex.c define
30854         _GNU_SOURCE.
30855
30856 2000-05-06  Jim Meyering  <meyering@lucent.com>
30857
30858         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
30859         (AC_REPLACE_FUNCS): Add strnlen.
30860
30861         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
30862         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
30863
30864         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
30865         AC_SEARCH_LIBS call for nanosleep.
30866         (LIB_NANOSLEEP): Set and AC_SUBST.
30867
30868 2000-05-06  Jim Meyering  <meyering@lucent.com>
30869
30870         * lib/strnlen.c: Undefine __strnlen and strnlen.
30871         [!weak_alias]: Define __strnlen to strnlen.
30872
30873         * lib/atexit.c: New file, from libiberty.
30874
30875 2000-05-06  Jim Meyering  <meyering@lucent.com>
30876
30877         * lib/closeout.c (close_stdout_status): Also check for errors on the
30878         stderr stream.
30879
30880 2000-05-05  Jim Meyering  <meyering@lucent.com>
30881
30882         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
30883         AC_SEARCH_LIBS call for clock_gettime.
30884         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
30885
30886         * m4/search-libs.m4: Update from autoconf.
30887
30888         su doesn't work on Solaris 2.6.
30889         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
30890         <shadow.h>.  Reported by Dragos Harabor.
30891
30892 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
30893
30894         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
30895         memcpy instead of xmalloc, xrealloc, path_concat.
30896         (locale_charset): Treat empty environment variables as absent.
30897         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
30898
30899 2000-05-04  Jim Meyering  <meyering@lucent.com>
30900
30901         * lib/getopt.c: Update from glibc.
30902         * lib/obstack.c: Likewise.
30903         * lib/obstack.h: Likewise.
30904         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
30905         file
30906
30907         * lib/regex.h: Likewise.
30908         * lib/strndup.c: Likewise.
30909         * lib/strnlen.c: New file, from glibc.
30910
30911 2000-05-03  Jim Meyering  <meyering@lucent.com>
30912
30913         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
30914
30915 2000-05-02  Paul Eggert  <eggert@twinsun.com>
30916
30917         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
30918         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
30919         compile-time test, rather than inspecting host and OS, to
30920         decide whether to define _LARGEFILE_SOURCE.
30921
30922 2000-05-01  Jim Meyering  <meyering@lucent.com>
30923
30924         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
30925
30926         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
30927         Based on a patch from Bruno Haible.
30928
30929 2000-05-01  Jim Meyering  <meyering@lucent.com>
30930
30931         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
30932
30933 2000-04-29  Jim Meyering  <meyering@lucent.com>
30934
30935         * lib/path-concat.c: Declare strdup only if it's not defined.
30936         * lib/canon-host.c: Likewise.
30937
30938 2000-04-28  Jim Meyering  <meyering@lucent.com>
30939
30940         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
30941         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
30942         is included first, then limits.h is included by locale.h by libintl.h.
30943         From John David Anglin.
30944
30945 2000-04-25  Jim Meyering  <meyering@lucent.com>
30946
30947         * lib/makepath.c (S_IRWXUGO): Define.
30948         (make_path): Always perform explicit chmod if MODE specifies any
30949         of the `special' permission bits.  Prompted by a bug report against
30950         install from Mate Wierdl and Joost van Baal.
30951
30952 2000-04-18  Jim Meyering  <meyering@lucent.com>
30953
30954         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
30955         (jm_PREREQ): Use it.
30956
30957 2000-04-18  Jim Meyering  <meyering@lucent.com>
30958
30959         * lib/README: New file.
30960
30961         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
30962         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
30963
30964 2000-04-17  Jim Meyering  <meyering@lucent.com>
30965
30966         Get it right :-)
30967         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
30968         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
30969         Suggestion from Akim Demaille.
30970
30971 2000-04-17  Jim Meyering  <meyering@lucent.com>
30972
30973         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
30974         the definition of it to rpl_strftime also defined-away the system's
30975         declaration.
30976
30977 2000-04-15  Jim Meyering  <meyering@lucent.com>
30978
30979         Use `C' to denote so-called `contiguous' files, the same way
30980         that tar does.
30981         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
30982         (ftypelet): Use S_ISCTG.
30983         From Michael Deutschmann.
30984
30985 2000-04-14  Jim Meyering  <meyering@lucent.com>
30986
30987         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
30988         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
30989         clobbered.
30990
30991 2000-04-14  Jim Meyering  <meyering@lucent.com>
30992
30993         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
30994
30995 2000-04-13  Jim Meyering  <meyering@lucent.com>
30996
30997         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
30998         AH_VERBATIM to insert required #ifndef into config.h.in.
30999         Suggestion from Akim Demaille.
31000
31001 2000-04-12  Jim Meyering  <meyering@lucent.com>
31002
31003         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
31004         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
31005         Christian Krackowizer.
31006
31007         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
31008         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
31009         (AC_SYS_LARGEFILE): Require.
31010         (AM_C_PROTOTYPES): Require.
31011
31012 2000-04-08  Jim Meyering  <meyering@lucent.com>
31013
31014         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
31015         names don't conflict.  Reported by Eli Zaretskii.
31016
31017 2000-04-07  Jim Meyering  <meyering@lucent.com>
31018
31019         * lib/putenv.c: Move inclusion of errno.h so it follows that of
31020         sys/types.h, to work around system header problems on AIX 3.2.5.
31021         From Bruno Haible.
31022
31023 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
31024
31025         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
31026         bug.  Deal with the different error behavior of Irix iconv.
31027
31028 2000-04-05  Paul Eggert  <eggert@twinsun.com>
31029
31030         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
31031         IRIX if the installer said otherwise.
31032
31033 2000-04-05  Jim Meyering  <meyering@lucent.com>
31034
31035         Portability tweaks required for ultrix4.3.
31036         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
31037         (jm_CHECK_DECLS): Add getutent to the list of functions.
31038         (_jm_DECL_HEADERS): Add utmpx.h.
31039         From John David Anglin.
31040
31041         * m4/strftime.m4: Back out the 2000-04-02 change.
31042         Instead of that change, simply undefine putenv in the test program.
31043
31044 2000-04-05  Jim Meyering  <meyering@lucent.com>
31045
31046         Portability tweaks required for ultrix4.3.
31047         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
31048         getutent.
31049         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
31050         * lib/canon-host.c: Declare strdup.
31051         * lib/path-concat.c: Likewise.
31052         From John David Anglin.
31053
31054 2000-04-04  Jim Meyering  <meyering@lucent.com>
31055
31056         Be more DOS 8.3-friendly.
31057         * lib/ref-add.sin: Renamed from ref-add.sed.in.
31058         * lib/ref-del.sin: Renamed from ref-del.sed.in.
31059         * lib/Makefile.am: Reflect renaming.
31060         Reported by Eli Zaretskii.
31061
31062         Use a temporary file name that won't clash with `charset.alias'
31063         in the DOS 8.3 name space.
31064         * lib/Makefile.am (charset_tmp): Define.
31065         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
31066         (uninstall-local): Likewise.
31067         Reported by Eli Zaretskii.
31068
31069 2000-04-03  Jim Meyering  <meyering@lucent.com>
31070
31071         * m4/gettext.m4: Fix typo in comment.
31072
31073         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
31074         textutils/configure.in).  Suggestion from Paul Eggert.
31075         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
31076
31077 2000-04-02  Paul Eggert  <eggert@twinsun.com>
31078
31079         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
31080         variable in the shell rather than using putenv, which isn't
31081         portable.  This avoids the configure-time inter-test dependency
31082         on the potentially-renamed putenv function.
31083
31084 2000-03-30  Paul Eggert  <eggert@twinsun.com>
31085
31086         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
31087         before checking struct stat.st_blksize, so that
31088         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
31089
31090 2000-03-29  Paul Eggert  <eggert@twinsun.com>
31091
31092         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
31093         since strftime.c uses HAVE_STRFTIME to decide whether to use
31094         the underlying strftime.
31095
31096 2000-03-29  Paul Eggert  <eggert@twinsun.com>
31097
31098         * lib/time/strftime.c (my_strftime): Make sure we call the system
31099         strftime, not ourselves, when invoking the underlying strftime.
31100
31101 2000-03-24  Jim Meyering  <meyering@lucent.com>
31102
31103         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
31104         (charset_alias): Define.
31105         (install-exec-local): Factor out common code.
31106         (uninstall-local): Split lines longer than 80.
31107         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
31108         (SUFFIXES): Define.
31109         (.sed.in.sed): New rule.  Don't redirect directly to $@.
31110         (CLEANFILES): Add ref-add.sed and ref-del.sed.
31111
31112 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
31113
31114         * lib/config.charset: Output a line containing "Packages using this
31115         file".
31116         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
31117         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
31118         ref-del.sed): New rules.
31119
31120 2000-03-17  Jim Meyering  <meyering@lucent.com>
31121
31122         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
31123         Otherwise, include <strings.h>
31124
31125 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
31126
31127         * lib/unicodeio.c (utf8_wctomb): New function.
31128         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
31129         format instead of in UCS-4 with platform dependent endianness.
31130
31131 2000-03-10  Jim Meyering  <meyering@lucent.com>
31132
31133         * m4/lib-check.m4: Look for getspnam in -lgen, too.
31134         From Marco Franzen.
31135
31136 2000-03-07  Paul Eggert  <eggert@twinsun.com>
31137
31138         * lib/savedir.c (savedir): Work even if directory size is
31139         negative; this can happen with some screwy NFS configurations.
31140
31141 2000-03-06  Jim Meyering  <meyering@lucent.com>
31142
31143         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
31144         if it's NULL (because we ran out of memory).  From Bruno Haible.
31145
31146 2000-03-05  Jim Meyering  <meyering@lucent.com>
31147
31148         * lib/localcharset.c ("path-concat.h"): Include.
31149         (get_charset_aliases): Use path_concat instead of ANSI string
31150         concatenation.
31151
31152         * lib/unicodeio.h (PARAMS): Define.
31153         Use it to guard prototype.
31154
31155 2000-03-04  Jim Meyering  <meyering@lucent.com>
31156
31157         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
31158         for lib/localcharset.c.
31159
31160 2000-03-04  Jim Meyering  <meyering@lucent.com>
31161
31162         * lib/Makefile.am (install-exec-local): Create $(libdir) before
31163         installing into it.
31164         (uninstall-local): Uncomment this rule so `make distcheck' works
31165         once again.
31166
31167         * lib/unicodeio.c (<errno.h>): Include it.
31168         (errno): Declare if not defined.
31169
31170         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
31171
31172         * lib/config.charset: New version, incorporating remarks from a linux
31173         i18n mailing list.  From Bruno Haible.
31174
31175 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
31176
31177         * m4/codeset.m4: New file.
31178         * m4/iconv.m4: New file.
31179         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
31180
31181 2000-03-03  Jim Meyering  <meyering@lucent.com>
31182
31183         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
31184
31185 2000-03-02  Jim Meyering  <meyering@lucent.com>
31186
31187         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
31188         the messages come out on separate lines.
31189
31190         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
31191         rather than jm_CHECK_DECLARATIONS.
31192         * m4/decl.m4: Remove now-unused file.
31193
31194         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
31195         geteuid.
31196
31197 2000-03-02  Jim Meyering  <meyering@lucent.com>
31198
31199         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
31200
31201 2000-03-01  Jim Meyering  <meyering@lucent.com>
31202
31203         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
31204         * lib/unicodeio.c: Likewise.
31205
31206 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
31207
31208         * lib/config.charset: New file.
31209         * lib/localcharset.c: New file.
31210         * lib/unicodeio.h, lib/unicodeio.c: New files.
31211         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
31212         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
31213         (noinst_HEADERS): Add unicodeio.h.
31214         (all-local, install-exec-local, charset.alias): New targets.
31215
31216 2000-02-28  Paul Eggert  <eggert@twinsun.com>
31217
31218         * lib/quotearg.c (ALERT_CHAR): New macro.
31219         (quotearg_buffer_restyled): Use it.
31220
31221 2000-02-27  Jim Meyering  <meyering@lucent.com>
31222
31223         * m4/check-decl.m4: Add getenv to the list.
31224
31225 2000-02-27  Jim Meyering  <meyering@lucent.com>
31226
31227         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
31228         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
31229
31230         * lib/backupfile.c: Guard inclusion of stdlib.h with
31231         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
31232         Declare malloc if needed.
31233
31234         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
31235         `#ifndef HAVE_DECL..'
31236         now that autoconf always defines the HAVE_DECL_ symbols.
31237         * lib/human.c: Likewise.
31238         * lib/same.c: Likewise.
31239         * lib/strtoumax.c: Likewise.
31240
31241         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
31242         declaration check was not run.
31243         * lib/hash.c: Likewise.
31244         * lib/human.c: Likewise.
31245         * lib/same.c: Likewise.
31246         * lib/strtoumax.c: Likewise.
31247
31248         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
31249         `.', then first look up the entire `.'-containing string as a login
31250         name.
31251
31252 2000-02-23  Jim Meyering  <meyering@lucent.com>
31253
31254         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
31255         in place of my hack.
31256
31257 2000-02-18  Paul Eggert  <eggert@twinsun.com>
31258
31259         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
31260         (textint): New typedef.
31261         (parser_control): Member year changed from int to textint.
31262         All uses changed.
31263         (YYSTYPE): Removed; replaced by %union with int and textint members.
31264         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
31265         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
31266         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
31267         (tSNUMBER, tUNUMBER): Now of type <textintval>.
31268         (date, number, to_year): Use width of number in digits, not its value,
31269         to determine whether it's a 2-digit year, or a 2-digit time.
31270         (yylex): Store number of digits of numeric tokens.
31271         Reported by John Kendall.
31272
31273         (parser_control): Changed from struct parser_control to typedef (for
31274         consistency).  All uses changed.
31275
31276         (tID): Removed; not used.
31277         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
31278
31279 2000-02-14  Paul Eggert  <eggert@twinsun.com>
31280
31281         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
31282         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
31283
31284 2000-02-12  Jim Meyering  <meyering@lucent.com>
31285
31286         * lib/userspec.c (ISDIGIT): Define it.
31287         (isdigit): Remove definition.
31288         (is_number): Use ISDIGIT, not isdigit.
31289         <libintl.h>: Include.
31290         (_ and N_): Define.
31291         (parse_user_spec): Mark translatable strings.
31292
31293 2000-02-10  Jim Meyering  <meyering@lucent.com>
31294
31295         With these changes, nanosleep.[ch] are finally enough like the other
31296         lib/* replacement files to compile on a few more losing systems.
31297
31298         * lib/nanosleep.h: Don't include config.h.
31299         Remove prototype from declaration of nanosleep.
31300         (PARAMS): Remove now-unneeded definition.
31301         * lib/nanosleep.c: #undef nanosleep.
31302         (rpl_nanosleep): Rename from nanosleep.
31303
31304 2000-02-10  Jim Meyering  <meyering@lucent.com>
31305
31306         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
31307         gnu_nanosleep to rpl_nanosleep.
31308
31309 2000-02-09  Jim Meyering  <meyering@lucent.com>
31310
31311         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
31312         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
31313
31314 2000-02-08  Akim Demaille  <akim@epita.fr>
31315
31316         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
31317         `[' and `]' and remove uses of `changequote'.
31318         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
31319         (AC_SYS_LARGEFILE): Likewise.
31320         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
31321         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
31322         of changequote.
31323         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
31324         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
31325         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
31326         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
31327
31328 2000-02-05  Jim Meyering  <meyering@lucent.com>
31329
31330         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
31331         Remove explicit use of AC_HEADER_TIME.  It is required by
31332         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
31333         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
31334         in autoconf whereby the expansion of the latter ended up preceding
31335         the expansion of its prerequisite, AC_HEADER_TIME.
31336         Reported by Volker Borchert.
31337
31338 2000-02-03  Jim Meyering  <meyering@lucent.com>
31339
31340         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
31341
31342 2000-02-03  Jim Meyering  <meyering@lucent.com>
31343
31344         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
31345         rather than with `#if HAVE_UTMPNAME'.
31346
31347 2000-02-02  Jim Meyering  <meyering@lucent.com>
31348
31349         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
31350         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
31351         Reported by Eli Zaretskii.
31352
31353 2000-02-01  Jim Meyering  <meyering@lucent.com>
31354
31355         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
31356
31357 2000-01-31  Jim Meyering  <meyering@lucent.com>
31358
31359         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
31360         functions.  Add the time.h and sys/time.h headers along with the
31361         AC_REQUIRE'ment of AC_HEADER_TIME.
31362
31363 2000-01-31  Jim Meyering  <meyering@lucent.com>
31364
31365         * lib/nanosleep.h (nanosleep): Guard declaration with
31366         `#if ! HAVE_DECL_NANOSLEEP'.
31367         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
31368         the declaration in that vendor's sys/timers.h.
31369         Reported by Christian Krackowizer.
31370
31371         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
31372         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
31373         (ISPRINT): Likewise.
31374         Reported by Tom Tromey.
31375
31376 2000-01-30  Jim Meyering  <meyering@lucent.com>
31377
31378         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
31379
31380         * m4/prereq.m4 (utmp_includes): Define.
31381         Check for ut_user and ut_name members in both struct utmpx
31382         and struct utmp.
31383
31384 2000-01-30  Jim Meyering  <meyering@lucent.com>
31385
31386         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
31387         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
31388         header files where only utmpx.ut_user is declared.
31389
31390         * lib/readutmp.h (UT_USER): Define.
31391
31392 2000-01-29  Jim Meyering  <meyering@lucent.com>
31393
31394         * m4/lib-check.m4: New file containing library-related checks from
31395         fileutils and sh-utils (textutils had none).
31396
31397 2000-01-28  Jim Meyering  <meyering@lucent.com>
31398
31399         * m4/perl.m4: Change format of warning message to look more like that
31400         from the missing script.  Suggestion from François Pinard.
31401
31402 2000-01-25  Jim Meyering  <meyering@lucent.com>
31403
31404         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
31405         well as time.h in the compile check.
31406         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
31407         Fix typo in cross-compiling case: s/yes/no/.
31408
31409 2000-01-23  Jim Meyering  <meyering@lucent.com>
31410
31411         * m4/jm-macros.m4: Move df-related tests here from
31412         fileutils/configure.in
31413
31414         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
31415         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
31416
31417         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
31418         s/space/ac_fsusage_space/.
31419         (jm_FILE_SYSTEM_USAGE): Take two parameters.
31420
31421         * m4/ftruncate.m4: New file (derived from part of
31422         fileutils/configure.in).
31423         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
31424         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
31425
31426         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
31427         AC_SUBST these here, rather than just in sh-util/configure.in, so
31428         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
31429         all the same.
31430         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
31431         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
31432         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
31433         (AC_SUBST(POW_LIBM)): Likewise.
31434         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
31435
31436 2000-01-23  Jim Meyering  <meyering@lucent.com>
31437
31438         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
31439         obstack.c.
31440
31441 2000-01-22  Jim Meyering  <meyering@lucent.com>
31442
31443         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
31444
31445         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
31446
31447         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
31448         configure.in
31449         (AC_CHECK_HEADERS): Likewise for sh-utils.
31450         (AC_CHECK_HEADERS): Likewise for textutils.
31451         Merge the three lists of headers.
31452
31453         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
31454         from fileutils' configure.in.
31455
31456         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
31457         code. Moved tests into their own function (_jm_DECL_HEADERS) in
31458         check-decl.m4.
31459
31460         * m4/check-decl.m4: Use #if rather than #ifdef.
31461         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
31462         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
31463         (_jm_DECL_HEADERS): Define new function.
31464         (jm_CHECK_DECLARATIONS): Require it.
31465
31466 2000-01-22  Jim Meyering  <meyering@lucent.com>
31467
31468         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
31469         [! HAVE_DECL_STRTOULL]: Declare strtoull.
31470         Required for some AIX systems.  Reported by Christian Krackowizer.
31471         [TESTING] (main): New function.
31472
31473         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
31474         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
31475         letters.
31476
31477         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
31478         iswprint.
31479
31480         * lib/strverscmp.c (ISDIGIT): Define.
31481         (strverscmp): Use ISDIGIT, not isdigit.
31482
31483 2000-01-19  Jim Meyering  <meyering@lucent.com>
31484
31485         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
31486         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
31487         defines `struct timespec' in <sys/time.h>
31488
31489         * m4/c-bs-a.m4: Remove uses of changequote altogether.
31490         Thanks to Akim for explaining.
31491
31492 2000-01-17  Paul Eggert  <eggert@twinsun.com>
31493
31494         * lib/nanosleep.c (nanosleep):
31495         Don't use SA_INTERRUPT to decide whether to call sigaction, as
31496         POSIX.1 doesn't require SA_INTERRUPT and some systems
31497         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
31498         it's been part of POSIX.1 since day 1 (in 1988).
31499
31500 2000-01-17  Jim Meyering  <meyering@lucent.com>
31501
31502         * lib/interlock: Remove unused file.  Reported by François Pinard.
31503
31504 2000-01-16  Paul Eggert  <eggert@twinsun.com>
31505
31506         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
31507         alert, backslash, formfeed, and vertical tab unnecessarily in
31508         shell quoting style.
31509
31510 2000-01-16  Jim Meyering  <meyering@lucent.com>
31511
31512         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
31513         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
31514         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
31515         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
31516
31517 2000-01-16  Jim Meyering  <meyering@lucent.com>
31518
31519         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
31520         because the latter didn't work.
31521
31522 2000-01-15  Jim Meyering  <meyering@lucent.com>
31523
31524         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
31525         (AC_REPLACE_FUNCS): Add memcpy and memset.
31526         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
31527         Add strpbrk.
31528         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
31529
31530 2000-01-12  Jim Meyering  <meyering@lucent.com>
31531
31532         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
31533         (jm_PREREQ): Use it.
31534         (jm_PREREQ_READUTMP): New macro.
31535         (jm_PREREQ): Use it.
31536
31537 2000-01-11  Paul Eggert  <eggert@twinsun.com>
31538
31539         Quote multibyte characters correctly.
31540         * m4/c-bs-a.m4: New file.
31541         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
31542         (jm_PREREQ): Use it.
31543
31544 2000-01-11  Paul Eggert  <eggert@twinsun.com>
31545
31546         * m4/uintmax_t.m4: Port to autoconf 2.13.
31547
31548 2000-01-08  Jim Meyering  <meyering@ascend.com>
31549
31550         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
31551         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
31552
31553 2000-01-04  Jim Meyering  <meyering@ascend.com>
31554
31555         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
31556         jm_STRUCT_DIRENT_D_TYPE.
31557         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
31558         jm_STRUCT_DIRENT_D_INO.
31559         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
31560         jm_STRUCT_UTIMBUF.
31561         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
31562         renamings.
31563         * m4/utime.m4: Likewise.
31564
31565         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
31566         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
31567
31568 2000-01-03  Paul Eggert  <eggert@twinsun.com>
31569
31570         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
31571         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
31572
31573 2000-01-02  Jim Meyering  <meyering@ascend.com>
31574
31575         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
31576         remember if this is necessary.
31577
31578 1999-12-26  Jim Meyering  <meyering@ascend.com>
31579
31580         * m4/jm-macros.m4: Use it here.
31581         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
31582
31583 1999-12-23  Jim Meyering  <meyering@ascend.com>
31584
31585         * m4/jm-macros.m4: Check for clock_gettime (moved from
31586         fileutils/configure.in)
31587         Check for gettimeofday.
31588
31589 1999-12-20  Jim Meyering  <meyering@ascend.com>
31590
31591         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
31592         autoconf-2.14a-1999-12-20.
31593
31594 1999-12-19  Jim Meyering  <meyering@ascend.com>
31595
31596         * m4/lstat-slash.m4: New file.
31597         * m4/jm-macros.m4: Use the new macro:
31598         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
31599
31600 1999-12-07  Jim Meyering  <meyering@ascend.com>
31601
31602         * m4/perl.m4: Require that File::Compare be available, too.
31603         Too many systems seem to lack it.
31604
31605         * m4/strftime.m4: Add checks for most of the cpp macros tested in
31606         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
31607
31608 1999-11-18  Paul Eggert  <eggert@twinsun.com>
31609
31610         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
31611         problem with the QNX 4.25 shell, which doesn't propagate exit
31612         status of failed commands inside shell assignments.
31613
31614 1999-11-17  Jim Meyering  <meyering@ascend.com>
31615
31616         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
31617
31618 1999-11-07  Jim Meyering  <meyering@ascend.com>
31619
31620         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
31621
31622 1999-11-06  Jim Meyering  <meyering@ascend.com>
31623
31624         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
31625         * m4/jm-macros.m4 (jm_MACROS): Use it here.
31626
31627 1999-11-05  Jim Meyering  <meyering@ascend.com>
31628
31629         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
31630         configure.in of textutils, fileutils, and sh-utils into this one
31631         (shared between those packages) file.
31632         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
31633         AC_STRUCT_ST_BLKSIZE.
31634
31635 1999-11-03  Jim Meyering  <meyering@ascend.com>
31636
31637         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
31638         of AC_CHECK_TYPE checks includes unistd.h.
31639         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
31640         Suggestion from Akim Demaille.
31641
31642 1999-10-30  Jim Meyering  <meyering@ascend.com>
31643
31644         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
31645         m4-quoted string.
31646         * m4/ls-mntd-fs.m4: Likewise.
31647         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
31648         * m4/jm-winsz1.m4: Likewise.
31649
31650         * m4/const.m4: Remove file, since the fix made it into the experimental
31651         version of autoconf.
31652         * m4/mktime.m4: Likewise.
31653
31654         * m4/check-type.m4: Remove file, now that the latest version of
31655         AC_CHECK_TYPE takes a third arg to specify additional #includes.
31656
31657         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
31658         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
31659         AC_CHECK_TYPE.
31660
31661 1999-10-04  Jim Meyering  <meyering@ascend.com>
31662
31663         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
31664
31665 1999-09-22  Paul Eggert  <eggert@twinsun.com>
31666
31667         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
31668         2.95.1 bug with HP-UX 10.20.
31669
31670 1999-09-17  Jim Meyering  <meyering@ascend.com>
31671
31672         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
31673         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
31674         due to missing strdup (against sh-utils-2.0).
31675
31676 1999-08-29  Jim Meyering  <meyering@ascend.com>
31677
31678         * m4/jm-macros.m4: Require jm_BISON.
31679         * m4/bison.m4: New file.
31680
31681 1999-08-17  Paul Eggert  <eggert@twinsun.com>
31682
31683         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
31684         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
31685
31686 1999-08-05  Jim Meyering  <meyering@ascend.com>
31687
31688         * m4/getline.m4: Rename test file from conftestdata to conftest.data
31689         to avoid conflicts with `conftest' on 8+3 filesystems.
31690         Suggestion from Eli Zaretskii.
31691
31692 1999-08-04  Jim Meyering  <meyering@ascend.com>
31693
31694         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
31695         fileutils and sh-utils (textutils's getline test was inadequate).
31696         (AM_FUNC_GETLINE): Run this test.
31697         (AC_CHECK_FUNCS): Check for getdelim.
31698         Reported by Bob Proulx.
31699
31700 1999-08-02  Jim Meyering  <meyering@ascend.com>
31701
31702         * m4/jm-macros.m4: Add a comment.
31703
31704 1999-08-01  Paul Eggert  <eggert@twinsun.com>
31705
31706         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
31707         <inttypes.h> defines strtoumax as a macro (and not as a
31708         function).
31709
31710 1999-08-01  Paul Eggert  <eggert@twinsun.com>
31711
31712         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
31713         that we can shift, multiply and divide unsigned long long
31714         values; Ultrix cc can't do it.
31715
31716 1999-08-01  Paul Eggert  <eggert@twinsun.com>
31717
31718         * m4/mktime.m4: New file, which is a preview of what should appear
31719         in the next public autoconf release.
31720
31721 1999-08-01  Paul Eggert  <eggert@twinsun.com>
31722
31723         * m4/lfs.m4: Remove this file.
31724         * m4/largefile.m4: New file.  It contains the old contents of
31725         lfs.m4, except that all names with prefix AC_LFS have been
31726         changed to use the prefix AC_SYS_LARGEFILE instead, to be
31727         compatible with future autoconf versions.  Also, some minor m4
31728         quoting problems have been fixed.
31729
31730 1999-08-01  Paul Eggert  <eggert@twinsun.com>
31731
31732         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
31733         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
31734         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
31735         and simplify the shell code.
31736
31737 1999-08-01  Jim Meyering  <meyering@ascend.com>
31738
31739         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
31740         m4.
31741
31742 1999-07-20  Jim Meyering  <meyering@ascend.com>
31743
31744         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
31745
31746 1999-07-15  Jim Meyering  <meyering@ascend.com>
31747
31748         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
31749
31750 1999-05-22  Jim Meyering  <meyering@ascend.com>
31751
31752         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
31753
31754 1999-05-20  Jim Meyering  <meyering@ascend.com>
31755
31756         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
31757         Add a colon after each `then' in case $4 is empty.
31758
31759 1999-05-16  Jim Meyering  <meyering@ascend.com>
31760
31761         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
31762
31763 1999-05-10  Jim Meyering  <meyering@ascend.com>
31764
31765         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
31766
31767         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
31768         AC_FUNC_MKTIME.
31769
31770 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
31771
31772         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
31773
31774 1999-05-04  Paul Eggert  <eggert@twinsun.com>
31775
31776         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
31777         not CPPFLAGS, so that linking works correctly in IRIX.
31778
31779 1999-04-30  Paul Eggert  <eggert@twinsun.com>
31780
31781         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
31782
31783 1999-04-20  Paul Eggert  <eggert@twinsun.com>
31784
31785         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
31786         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
31787         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
31788         jm_AC_TYPE_UNSIGNED_LONG_LONG.
31789         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
31790
31791         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
31792
31793 1999-04-20  Jim Meyering  <meyering@ascend.com>
31794
31795         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
31796         AC_REPLACE xstroull if necessary.  From Paul Eggert.
31797         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
31798
31799 1999-04-18  Jim Meyering  <meyering@ascend.com>
31800
31801         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
31802         * m4/jm-macros.m4: Use it.
31803
31804 1999-04-06  Jim Meyering  <meyering@ascend.com>
31805
31806         * m4/strftime.m4: Remove test for %f.
31807
31808 1999-03-29  Jim Meyering  <meyering@ascend.com>
31809
31810         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
31811         superset of the AC_TYPE_* checks in the textutils, fileutils,
31812         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
31813         AC_TYPE_PID_T.
31814
31815 1999-03-28  Jim Meyering  <meyering@ascend.com>
31816
31817         * m4/jm-macros.m4: Define GNU_PACKAGE here.
31818         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
31819         replaced e.g., in the *.sh files of the sh-utils.
31820
31821 1999-03-20  Jim Meyering  <meyering@ascend.com>
31822
31823         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
31824         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
31825         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
31826
31827 1999-03-19  Jim Meyering  <meyering@ascend.com>
31828
31829         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
31830
31831 1999-03-12  Jim Meyering  <meyering@ascend.com>
31832
31833         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
31834
31835 1999-03-07  Jim Meyering  <meyering@ascend.com>
31836
31837         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
31838         declared.
31839
31840 1999-02-17  Jim Meyering  <meyering@ascend.com>
31841
31842         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
31843         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
31844
31845 1999-02-07  Jim Meyering  <meyering@ascend.com>
31846
31847         * m4/group-member.m4: New file -- extracted from sh-utils'
31848         configure.in.
31849
31850         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
31851         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
31852
31853 1999-02-06  Jim Meyering  <meyering@ascend.com>
31854
31855         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
31856         * m4/fnmatch.m4: Likewise.
31857         * m4/getgroups.m4: Likewise.
31858         * m4/lstat.m4: Likewise.
31859         * m4/malloc.m4: Likewise.
31860         * m4/putenv.m4: Likewise.
31861         * m4/realloc.m4: Likewise.
31862         * m4/regex.m4: Likewise.
31863         * m4/stat.m4: Likewise.
31864         * m4/strftime.m4: Likewise.
31865         Suggestion from Alain Magloire.
31866
31867         * m4/chown.m4: Use `.$ac_objext', not `.o'.
31868         * m4/fnmatch.m4: Likewise.
31869         * m4/getgroups.m4: Likewise.
31870         * m4/getline.m4: Likewise.
31871         * m4/lstat.m4: Likewise.
31872         * m4/malloc.m4: Likewise.
31873         * m4/memcmp.m4: Likewise.
31874         * m4/putenv.m4: Likewise.
31875         * m4/realloc.m4: Likewise.
31876         * m4/regex.m4: Likewise.
31877         * m4/stat.m4: Likewise.
31878         * m4/strftime.m4: Likewise.
31879         Suggestion from Alain Magloire.
31880
31881         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
31882         an argument.
31883
31884         * m4/regex.m4: Add a run-time Test for proper operation of
31885         re_compile_pattern.
31886
31887 1999-01-31  Jim Meyering  <meyering@ascend.com>
31888
31889         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
31890
31891 1999-01-30  Jim Meyering  <meyering@ascend.com>
31892
31893         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
31894
31895         * m4/jm-mktime.m4: Make this a wrapper around the official
31896         AM_FUNC_MKTIME rather than my private copy, now that the official one
31897         is up to date.
31898         * m4/mktime.m4: Remove file.
31899
31900         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
31901         * m4/uptime.m4: Likewise.
31902         * m4/uintmax_t.m4: Likewise.
31903
31904 1999-01-28  Jim Meyering  <meyering@ascend.com>
31905
31906         * m4/jm-macros.m4: Use jm_AFS.
31907         * m4/afs.m4: New file (from fileutils' configure.in).
31908
31909         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
31910         * m4/chown.m4: Likewise.
31911         * m4/d-ino.m4: Likewise.
31912         * m4/d-type.m4: Likewise.
31913         * m4/fnmatch.m4: Likewise.
31914         * m4/getgroups.m4: Likewise.
31915         * m4/gettext.m4: Likewise.
31916         * m4/jm-mktime.m4: Likewise.
31917         * m4/jm-winsz2.m4: Likewise.
31918         * m4/lcmessage.m4: Likewise.
31919         * m4/ls-mntd-fs.m4: Likewise.
31920         * m4/malloc.m4: Likewise.
31921         * m4/memcmp.m4: Likewise.
31922         * m4/putenv.m4: Likewise.
31923         * m4/realloc.m4: Likewise.
31924         * m4/st_mtim.m4: Likewise.
31925         * m4/strftime.m4: Likewise.
31926
31927 1999-01-16  Jim Meyering  <meyering@ascend.com>
31928
31929         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
31930         (ARGMATCH_DIE_DECL): Define.
31931
31932 1999-01-12  Jim Meyering  <meyering@ascend.com>
31933
31934         * m4/Makefile.am.in: Rewrite to avoid using fmt.
31935         Reported by Lars Hecking.
31936
31937 1999-01-10  Jim Meyering  <meyering@ascend.com>
31938
31939         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
31940         gross kludge.
31941         * m4/inttypes_h.m4: Likewise.
31942         * m4/lstat.m4: Likewise.
31943         * m4/malloc.m4: Likewise.
31944         * m4/readdir.m4: Likewise.
31945         * m4/realloc.m4: Likewise.
31946         * m4/st_dm_mode.m4: Likewise.
31947         * m4/stat.m4: Likewise.
31948         * m4/utimbuf.m4: Likewise.
31949         * m4/utimes.m4: Likewise.
31950
31951         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
31952         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
31953         comments in config.h.in are meaningful.
31954
31955         * m4/jm-macros.m4: Require autoconf-2.13 here.
31956
31957         * m4/regex.m4: By default, don't use the included regex.c on systems
31958         with glibc 2.  Suggestion from Uli Drepper.
31959
31960 1999-01-02  Jim Meyering  <meyering@ascend.com>
31961
31962         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
31963
31964 1998-12-18  Jim Meyering  <meyering@ascend.com>
31965
31966         * m4/Makefile.am.in (Makefile.am): Simplify rule.
31967         Based on a suggestion from Lars Hecking.
31968
31969 1998-11-16  Paul Eggert  <eggert@twinsun.com>
31970
31971         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
31972
31973 1998-11-16  Jim Meyering  <meyering@ascend.com>
31974
31975         * m4/lfs.m4: Double-quote the `uname...` expression.
31976
31977 1998-11-14  Jim Meyering  <meyering@ascend.com>
31978
31979         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
31980         * m4/stat.m4: Likewise.
31981
31982 1998-11-03  Jim Meyering  <meyering@ascend.com>
31983
31984         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
31985         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
31986
31987 1998-10-18  Jim Meyering  <meyering@ascend.com>
31988
31989         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
31990
31991 1998-10-17  Jim Meyering  <meyering@ascend.com>
31992
31993         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
31994         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
31995         calls for those previously hard-coded headers.  Instead, take a new
31996         parameter.
31997         (jm_CHECK_DECLARATIONS): Reflect interface change.
31998         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
31999         (jm_CHECK_DECL_LOCALTIME_R): New macro.
32000
32001         * m4/mktime.m4: Test for spring-forward gap before long-running test.
32002
32003 1998-10-14  Jim Meyering  <meyering@ascend.com>
32004
32005         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
32006         instead of "TZ=America/Vancouver".  From Paul Eggert.
32007
32008 1998-10-11  Jim Meyering  <meyering@ascend.com>
32009
32010         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
32011         This adds a test for a recently added compatibility fix for mktime.c.
32012         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
32013
32014 1998-09-27  Jim Meyering  <meyering@ascend.com>
32015
32016         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
32017
32018         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
32019         ../configure.in, including a change from Gordon Matzigkeit to allow
32020         cross-compiling for the Hurd.
32021
32022         * m4/glibc.m4: New file/macro to test for the GNU C Library
32023         versions 1 and 2.  From Gordon Matzigkeit.
32024         Indent.
32025
32026 1998-09-21  Jim Meyering  <meyering@ascend.com>
32027
32028         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
32029
32030 1998-08-18  Paul Eggert  <eggert@twinsun.com>
32031
32032         Port nanosecond-resolution times to UnixWare 2.1.2 and
32033         pedantic Solaris 2.6.
32034
32035         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
32036         AC_STRUCT_ST_MTIM.
32037         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
32038         Generate name of ns member, instead of just 1 or undef.
32039         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
32040
32041 1998-08-15  Jim Meyering  <meyering@ascend.com>
32042
32043         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
32044         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
32045         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
32046         instead of jm_TYPE_SSIZE_T.
32047
32048 1998-08-12  Jim Meyering  <meyering@ascend.com>
32049
32050         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
32051
32052 1998-08-02  Jim Meyering  <meyering@ascend.com>
32053
32054         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
32055         in acconfig.h manually.
32056
32057 1998-07-31  Paul Eggert  <eggert@twinsun.com>
32058
32059         * m4/st_mtim.m4: New file.
32060
32061 1998-07-28  Jim Meyering  <meyering@ascend.com>
32062
32063         * m4/utimes.m4: Undef stat.
32064
32065 1998-07-25  Jim Meyering  <meyering@ascend.com>
32066
32067         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
32068         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
32069
32070 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
32071
32072         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
32073         uid and gid actually remain unchanged.
32074
32075 1998-07-07  Jim Meyering  <meyering@ascend.com>
32076
32077         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
32078
32079 1998-07-04  Jim Meyering  <meyering@ascend.com>
32080
32081         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
32082         to prove that this macro can be used in packages without regex.c.
32083
32084 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
32085
32086         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
32087         is to be used.
32088
32089 1998-07-03  Jim Meyering  <meyering@ascend.com>
32090
32091         * m4/gettext.m4: Add -lintl if it's found to be necessary.
32092
32093         * m4/gettext.m4: New file -- from gettext-0.10.35.
32094         * m4/lcmessage.m4: Likewise.
32095         * m4/progtest.m4: Likewise.
32096
32097         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
32098         * m4/jm-macros.m4: Require the new macro.
32099
32100 1998-06-29  Jim Meyering  <meyering@ascend.com>
32101
32102         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
32103         for the definition of NGROUPS (used in a system header included
32104         by sys/mount.h).
32105
32106 1998-06-28  Jim Meyering  <meyering@ascend.com>
32107
32108         * m4/ls-mntd-fs.m4: New file.
32109         * m4/fstypename.m4: New file.
32110
32111         * m4/jm-macros.m4: Require the new macro.
32112         * m4/jm-glibc-io.m4: New file.
32113
32114 1998-05-19  Jim Meyering  <meyering@ascend.com>
32115
32116         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
32117         * m4/lchown.m4: New file.
32118
32119         * m4/Makefile.am.in: New file.
32120         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
32121
32122 1998-05-14  Jim Meyering  <meyering@ascend.com>
32123
32124         * m4/Makefile.am (EXTRA_DIST): Add them.
32125         * m4/jm-macros.m4: New file.
32126         * m4/utimbuf.m4: New file.
32127
32128 1998-05-12  Jim Meyering  <meyering@ascend.com>
32129
32130         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
32131
32132 1998-05-11  Jim Meyering  <meyering@ascend.com>
32133
32134         * m4/isc-posix.m4: New file.
32135
32136 1998-05-10  Jim Meyering  <meyering@ascend.com>